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

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

3
Різні способи побачити монаду
Під час навчання Haskell я зіткнувся з великою кількістю навчальних посібників, намагаючись пояснити, що таке монади і чому монади важливі в Haskell. Кожен з них використовував аналогії, щоб було легше вловити сенс. Зрештою, у мене є 3 різних точки зору того, що таке монада: Перегляд 1: Монада як етикетка Іноді …

1
Коли слід використовувати документ відносно реляційної та графічної бази даних? [зачинено]
Для цілей обговорення розглянемо сценарій FourSquare. Сценарій Суб'єкти: Користувачі Місця Відносини: Checkins: користувачі <-> місця, багато-багато Друзі: користувачі <-> користувачі, багато-багато Дизайн баз даних Вони, швидше за все, матимуть помилки, будь ласка, вкажіть їх. RDBMS Таблиці: Користувачі Місця Перевірки (перехід) Друзі (перехрестя) Плюси: CAP: послідовність, доступність Мінуси: CAP: толерантність до …

4
Чи слід завжди виправляти тестові помилки під час їх виправлення?
Під час виправлення помилок рекомендується, де я працюю, спочатку написати тест, який не відповідає даній помилку, а потім виправити код, поки тест не пройде. Це слідує практиці TDD, і, мабуть, це буде хорошою практикою, але я помітив, що вона має тенденцію створювати криптичні тести, які дійсно близькі до впровадження. Наприклад, …
29 testing  tdd 

12
Чому клас повинен бути чимось іншим, як "абстрактним" або "остаточним / запечатаним"?
Після 10+ років програмування java / c # я можу створити: абстрактні класи : контракт, який не повинен бути поміркований таким, який є. заключні / запечатані класи : реалізація не повинна служити базовим класом для чогось іншого. Я не можу придумати жодної ситуації, коли простий "клас" (тобто ні абстрактний, ні …

11
Оголошення інтерфейсу в тому ж файлі, що і базовий клас, це хороша практика?
Щоб бути взаємозамінним і перевіреним, зазвичай служби з логікою повинні мати інтерфейс, наприклад public class FooService: IFooService { ... } Я погоджуюсь із дизайном, але я погоджуюся з цим, але одна з речей, яка мене турбує при такому підході, - це те, що для однієї послуги вам потрібно буде оголосити …

3
Як піти про «переймання» проекту з відкритим кодом?
Є проект з відкритим кодом, який мене цікавить і регулярно використовую. Він ліцензований під ліцензією Apache 2.0 і в основному не має жодної активності. Він розміщений на Google Code і мені цікаво продовжувати його розробку. Я новачок у відкритому коді і намагаюся знайти відповідний шлях для цього. Чи можу я …

8
Чи розумно запускати процеси за допомогою інструментів CI?
У моїй компанії у нас є трясовина різної роботи з крон (на кількох системах) і вручну розпочали процеси, які підтримують наш бізнес, який є результатом багаторічного розвитку та подальшого нехтування. Колись нам потрібно буде придумати більш централізоване рішення з очевидних причин. Однією думкою, яку ми обдурили, є використання нашого програмного …

7
Чи етично використовувати особистий код на роботі?
Я працюю над побічним проектом на роботі, де вважаю вигідним використовувати частину свого коду, який я особисто розробив (поза роботою), щоб прискорити свій розвиток. Мій побічний проект - це розробка додатку графічного інтерфейсу C ++, який дозволяє нашим споживачам живлення виконувати запити (побудовані мною) проти баз даних на декількох різних …

9
Назви інтерфейсу: префікс "Can-" vs суфікс "-Able"
Загальноприйнято використовувати "-able" як суфікс для інтерфейсів, наприклад Serializable для друку Численні, які можна пити з можливістю зйомки Я думав, що "Can-" може бути кращим, оскільки він може бути більш описовим. Так, він більш багатослівний і додає шуму назви інтерфейсу. Зокрема, можна використовувати пасивні дієслова. Напр. 1 означає, що стрілянина …
29 api  interfaces 

10
Я не можу програмувати, оскільки код, який я використовую, використовує старі стилі кодування. Це нормально для програмістів?
У мене є перша реальна робота програміста, але я не можу вирішити жодних проблем через стиль кодування, що використовується. Код тут: Не має коментарів Не має функцій (50, 100, 200, 300 або більше рядків, що виконуються послідовно) Використовує багато ifтверджень з великою кількістю шляхів Має змінні , які не мають …

7
Чи є вагомі причини уникати node.js для веб-додатків у режимі реального часу?
Я бачив багато розмов про те, як приголомшливий Node.js для веб-додатків у реальному часі - речі, які потребують сокетів, Comet, AJAX-важких комунікацій тощо. Я знаю, що його асинхронна модель, керована подіями, також добре підходить для одночасності з низькими витратами. Я також бачив підручники Node.js для більш простих, "традиційних" додатків у …


10
Чи «Помилки» задумки є поганим знаком?
Це погана ознака, якщо користувачі надсилають звіти про помилки для речей, які є задумом? Це, як правило, означає, що додаток є заплутаним чи незрозумілим, або я повинен просто додати його до одноразової помилки користувача, якщо конкретно не зазначено? (У мене фактично немає таких звітів. Це суто гіпотетичний запитання про те, …
29 bug  users 

3
Чи є Рамковий кодекс суб'єкта господарювання спочатку трохи безглуздим / марним у виробництві і яка хороша стратегія EF для виробництва?
Нещодавно я програмував за допомогою Entity Framework 4.1 Code, спочатку і люблю його для розробки, але, маючи лише кінцевий план і швидко змінюється список функцій, постійно змінюю Клас / Базу даних для задоволення потреб додатків. У розробці немає живих даних, і я можу легко просто видалити всю базу даних, щоб …

6
Чи слід чітко кодувати очікувані результати тесту?
Якщо очікувані результати одиничного тесту повинні бути жорстко кодованими, чи вони можуть залежати від ініціалізованих змінних? Чи збільшують жорсткі або обчислені результати ризик введення помилок в одиничному тесті? Чи є інші фактори, які я не враховував? Наприклад, який із цих двох є більш надійним форматом? [TestMethod] public void GetPath_Hardcoded() { …
29 c#  unit-testing 

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