Розробка програмного забезпечення

Питання та відповіді для професіоналів, науковців та студентів, які працюють у життєвому циклі розвитку систем

8
Як я повинен побудувати структуру даних для динамічного "лабіринту" необмеженого розміру?
Я насправді не впевнений, що "лабіринт" - це правильний термін. В основному користувачі починаються з одного, Roomякий має 4 двері (N, S, E і W). Вони можуть їхати в будь-якому напрямку, і кожна наступна кімната містить ще одну кімнату з місцями від 1 до 4 дверних прорізів, які йдуть в …

2
Чи відповідає схема ActiveRecord / заохочує принципи дизайну SOLID?
Мене цікавить, чи заохочує або відлякує використання принципів дизайну SOLID дизайн ActiveRecord, відомий з Ruby on Rails . Наприклад, мені здається, що об’єкти ActiveRecord містять як логіку домену, так і логіку стійкості, що є порушенням єдиної відповідальності.

7
Тригери SQL і коли або коли їх не використовувати.
Коли я спочатку дізнавався про SQL, мені завжди говорили, використовуйте тригери лише тоді, коли вам дійсно потрібно, і замість цього, якщо можливо, скористайтеся збереженими процедурами. На жаль, у той час (добрі кілька років тому) я не був таким цікавим і піклувався про основи, як я зараз, тому ніколи не питав …
43 sql 

13
Чи погана практика інтерв'ю, щоб кандидати писали реалізацію зв'язаного списку? [зачинено]
Читаючи цей сайт, і так я бачив багато історій питань інтерв'ю та відповідей, в яких говорилося, що кандидату довелося реалізувати пов'язаний список з нуля. Зазвичай це вправа для "програмування" для програмування рольових кандидатів, таких як написання FizzBuzz. Ідея полягає в тому, що якщо кандидат не може цього зробити, він не …

22
Чи був пробіл в ідентифікаторах колись ідіоматичним? [зачинено]
Стиль C # пропонує використовувати CamelCase в ідентифікаторах для розмежування слів. Традиція Lisp пропонує замість цього тире-тире. Чи існувала коли-небудь мова програмування, де використання пробілів в ідентифікаторах було не тільки дозволено, але і загальновживану ідіому при використанні багатослівних ідентифікаторів? У деяких реалізаціях схеми можуть бути ідентифікатори з пробілами , але …

6
Чи безпечніше хеш-пароль кілька разів?
Я декілька разів читав, що під час зберігання паролів є хорошою практикою "подвійного хешування" рядків (наприклад, з md5, потім sha1, як із солями, очевидно). Я здогадуюсь, що перше питання: "чи це насправді правильно?" Якщо ні, то, будь ласка, відхиліть решту цього питання :) Причина, яку я запитую, полягає в тому, …
43 hashing 

3
Яке походження та значення фрази "Лямбда остаточна?"
Я кілька років возився з функціональними мовами програмування, і я постійно стикаюся з цією фразою. Наприклад, це розділ "Маленький схемер", який, безумовно, передує блогу під цим ім'ям. (Ні, глава не допомагає відповісти на моє запитання.) Я розумію, що означає лямбда, ідея анонімної функції є одночасно простою і потужною, але я …

10
Прототипування проти чистого кодексу на ранніх стадіях
Я планую працювати / починати над кількома особистими проектами, які можуть стати моєю щоденною роботою. Це змусило мене задуматися, з якого шляху слід почати? Просто прототип - напишіть просто працюючий базовий код, який міг би коштувати мені тонн часу на оптимізацію та рефакторинг для легкого розширення. Пишіть чистий, оптимізований та …

15
Чи можете ви одночасно бути менеджером і програмістом? [зачинено]
Керування іншими програмістами, поки ви самі є частиною робочої групи з програмування. Це дуже поширена схема, принаймні в компаніях, в яких я працював. Чи можете ви бути хорошим програмістом чи хорошим менеджером, якщо ви робите обидва одночасно? Я сумніваюся в ефективності людини, яка повинна бути у двох дуже різних ролях, …

8
Чи один об'єкт конфігурації - це погана ідея?
У більшості моїх програм у мене є однотонний або статичний "конфігураційний" об'єкт, який відповідає за зчитування різних налаштувань з диска. Майже всі класи використовують його для різних цілей. По суті це просто хеш-таблиця пар імен / значень. Це лише для читання, тому я не надто переймався тим, що у мене …

7
Тверді принципи проти YAGNI
Коли принципи SOLID стають YAGNI? Як програмісти, ми постійно робимо компроміси між складністю, ремонтом, часом розробки тощо. Серед інших, два з найрозумніших рекомендацій щодо вибору - це, на мій погляд, принципи SOLID та YAGNI. Якщо вам це не потрібно; не будуйте його, а зберігайте його в чистоті. Наприклад, наприклад, коли …

10
Чи є якась причина використовувати класи "простих старих даних"?
У застарілому коді я час від часу бачу класи, які є не що інше, як обгортки для даних. щось на зразок: class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } Моє розуміння ОО полягає в тому, що класи - це структури для даних та методи …

20
Як ви залишаєтесь мотивованими на хобі-проекти? [зачинено]
Я почав серйозно програмувати як хобі, студент, а потім стажувався близько 4 років тому, і я завжди робив невеликі проекти на стороні, як навчальну діяльність. Школи зараз закінчуються, і я провожу свої дні на роботі як розробник програмного забезпечення. Я все ще хотів би робити проекти на стороні, щоб дізнатися …

19
Як ви ділитесь своїм ремеслом з непрограмістами?
Іноді я відчуваю себе музикантом, який не вміє грати наживо. Програмування - це дуже класна навичка та дуже широкий світ, але багато цього відбувається "поза камерою" - у вашій голові, у вашому офісі, далеко від глядачів. Ви, звичайно, можете поговорити про програмування з іншими програмістами, і існує однорангове програмування, і …

10
Чи призводить використання LINQ та Lambda Expressions до менш читабельного коду? [зачинено]
Я маю дискусію з колегою по Linq, я скопію тут: Співробітник: Нехай тут буде чесно. Синтаксис Linq смокче. Це заплутано і неінтуїтивно. Я: давай, більш заплутаний, ніж T-SQL? Співробітник: е, так. Я: у неї однакові основні частини, виберіть, де і звідки Співробітник: Linq, на мою думку, є принадністю реляційних + …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.