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

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

7
Коли слід написати інтеграційні тести?
Відповідно до правил тестових модулів TDD написані перед виробничим кодом, а як щодо тестів інтеграції, що здійснюють взаємодію між конкретними (не макетними) дротовими об'єктами? Чи повинні вони бути записані перед одиничними тестами або після коду виробництва лише для перевірки "проводки"? Зауважте, що я кажу не про прийняття чи функціональні тести, …

5
Як працює прогнозування галузей, якщо вам все-таки доведеться перевіряти умови?
Я читав популярну відповідь про передбачення філії з https://stackoverflow.com/q/11227809/555690 , і щось мене бентежить: Якщо ви правильно здогадалися, це продовжується. Якщо ви не здогадалися, капітан зупиниться, створить резервну копію і кричить на вас, щоб перемкнути перемикач. Тоді він може перезапустити інший шлях. Якщо ви гадаєте щоразу правильно, поїзд ніколи не …

8
Що таке красивий код? [зачинено]
Я часто читаю, що розробники повинні писати прекрасний код, але для початківця, як і я, залишається незрозумілим, що таке прекрасний код і як його розпізнати? Слідчим запитанням є: Як написати гарний код та які практичні звички покращити якість коду? , що мені слід подбати про те, щоб код, який я …

2
Застосування денотаційної семантики до проектування програм
Я читав трохи про денотаційну семантику (DS) і мене дуже заінтригував процес проектування комп’ютерних програм, де типи та функції мають чіткі та чіткі відображення математики. Чи є ресурси, які детально обговорюють розробку програм на основі DS? Я бачив кілька поверхневих обробок цієї теми. Я розмовляю в Haskell, Scala, Common Lisp …
30 scala  haskell  scheme 

9
Чому компілятори самостійного розміщення вважаються обрядом проходження нових мов?
Зараз у багатьох місцях я чув, що люди очікують, що мови використовуватимуть або принаймні матимуть компілятор, що хостинг, щоб заслужити повагу. Мені цікаво, чому це так. Компілятор видається дуже важливим програмним забезпеченням для написання, і я думаю, що не всі мови підходять для їх створення. Чи не було б більше …

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

2
Чи дійсно стратегія злиття на зразок Git Flow є анти-закономірністю?
Моя компанія використовує Git і використовує своєрідну схему розгалуження - робота робиться в master, а гілки зарезервовані для випусків. Це працює добре, доки вся робота, виконана за ітерацію, перетворюється на галузь, але якщо виникає критична проблема виробництва, ми повинні забезпечити, щоб робота якось перетворила її в обидві галузі. Останнім часом …

11
Як працює "Четвертий вимір" з масивами?
Анотація: Отже, наскільки я це розумію (хоча я розумію дуже обмежено), є три аспекти, з якими ми (як правило) працюємо фізично: Перший буде представлений лінією. 2-я була б представлена ​​квадратом. Третій був би представлений кубом. Досить просто, поки ми не дістанемося до 4-го - це важко малювати в тривимірному просторі, …
30 theory  array 

3
Коли розділити проект на кілька підпроектів
Мені хотілося б знати, чи є сенс розділити проект, над яким я працюю, на два сховища замість одного. З того, що я можу сказати: Frontend буде записаний у html + js Бекенд у .net Захід не залежить від фронтенду, а фронтенд не залежить від бекенда Фронтенд використовуватиме спокійний api, реалізований …

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

2
Неправдиве пояснення пробудження звучить як помилка, яку просто не варто виправляти, правда?
Згідно зі статтею Вікіпедії про Грізні пробудження "поток може бути пробуджений із стану очікування, навіть якщо жодна нитка не сигналізує про змінну умову". Хоча я знаю про цю "особливість", я ніколи не знав, що насправді викликало її, до тієї ж статті "Помилкові пробудження можуть здаватися дивними, але в деяких багатопроцесорних …

2
Передовий досвід роботи фабрики python
Припустимо, у мене є файл, foo.pyщо містить клас Foo: class Foo(object): def __init__(self, data): ... Тепер я хочу додати функцію, яка Fooпевним чином створює об’єкт із необроблених вихідних даних. Чи слід ставити його як статичний метод у Foo або як іншу окрему функцію? class Foo(object): def __init__(self, data): ... # …
30 design  python 

7
Чи слід перевірити успадковані методи?
Припустимо , у мене є клас менеджера , отриманий з базового класу Employee , і що службовець має метод getEmail () , яка успадковується диспетчера . Чи слід перевірити, що поведінка методу getEmail () менеджера насправді така сама, як у працівника? На час написання цих тестів поведінка буде однаковою, але, …

1
Введіть умовивід у Java 8
Чи потребуватиме введення нової лямбда-нотації (див., Наприклад, цю статтю ) в Java 8, потрібний певний тип виводу? Якщо так, то як система нового типу вплине на мову Java в цілому?

5
Головоломка фонтану Шампань
Порожні склянки з водою розташовані в такому порядку: Якщо налити рідину в 1-й склянку, якщо вона наповнена, то зайву рідину в рівних кількостях переливали б у склянки 2 та 3. Коли склянка 2 заповнена, зайва рідина буде переливатися на 4 і 5 тощо. Враховуючи N літрів рідини, а максимальна ємність …

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