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

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

4
Функціонування винятків у функціональному стилі
Мені сказали, що у функціональному програмуванні ніхто не повинен кидати та / або спостерігати за винятками. Натомість помилковий розрахунок слід оцінювати як нижнє значення. У Python (або інших мовах, які не повністю заохочують функціональне програмування) можна повертатись None(або інша альтернатива, яка трактується як нижнє значення, хоча Noneі не суворо відповідає …

8
Чи не було б вигідно писати тести під час перегляду коду?
Моя колега придумала ідею, яку мені здалося цікавою. Чи не було б вигідно писати тести під час перегляду коду особою, яка проводить огляд, припускаючи, що ми не робимо TDD? Для цього питання припустимо, що це суто академічний проект, тому життя не загрожує. Більше того, команда - 4 людини. Усі знають …

2
Фільтрування циклів foreach за умови, коли умова проти продовжують захисні пропозиції
Я бачив, як деякі програмісти використовують це: foreach (var item in items) { if (item.Field != null) continue; if (item.State != ItemStates.Deleted) continue; // code } замість того, де я зазвичай використовую: foreach (var item in items.Where(i => i.Field != null && i.State != ItemStates.Deleted)) { // code } Я …

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

9
Введення залежності: чи слід використовувати рамку?
Нещодавно я працював над проектом Python, де ми зробили велику кількість ін'єкцій залежностей (тому що ми повинні робити тест на додаток), але не використовували жодної основи. Часом було трохи стомливо підключати всі залежності вручну, але в цілому це працювало чудово. Коли об’єкт потрібно було створити в декількох місцях, ми просто …

3
Як я можу діагностувати асинхронізацію / очікування тупиків?
Я працюю з новою базою кодів, яка використовує async / wait. Більшість людей у ​​моїй команді також є досить новими для асинхронізації / очікування. Зазвичай ми прагнемо до кращих практик, визначених Microsoft , але, як правило, потрібен наш контекст для проходження виклику асинхронізації та працюємо з бібліотеками, які цього не …
24 c#  debugging  async 

3
Календар / алгоритм планування
Я зіткнувся з проблемою, не знаю, як підійти. Я повинен створити календар для працівників, кожен з яких має певні обмеження в роботі (деякі особисті, деякі загальні) З чим я працюю: У мене є лікарі Кожен лікар повинен працювати 5 днів / тиждень. Кожен лікар повинен працювати 1 ніч / тиждень …

6
Ітераторська схема - чому важливо не піддавати внутрішнього представлення?
Я читаю основи дизайну моделей C # . Я зараз читаю про шаблон ітератора. Я повністю розумію, як реалізувати, але не розумію важливості чи не бачу випадку використання. У книзі наведено приклад, де комусь потрібно отримати список об’єктів. Вони могли це зробити, оголивши публічну власність, таку як IList<T>або Array. Книга …

6
Як викликати HTTP API, який не є RESTful? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Як би ви назвали API, заснований на HTTP, використовує URI для іменування ресурсів та …
24 terminology  rest  api  http 

2
Алгоритм об'єднання двох відсортованих масивів із мінімальною кількістю порівнянь
Дано два відсортовані масиви a , b типу T з розмірами n та m . Я шукаю алгоритм, який об'єднує два масиви в новий масив (максимального розміру n + m). Якщо у вас дешева операція порівняння, це досить просто. Просто візьміть з масиву найнижчий перший елемент до повного проходження одного …

5
Чи розумне використання оператора явного кастингу розумним чи поганим злом?
У мене великий об’єкт: class BigObject{ public int Id {get;set;} public string FieldA {get;set;} // ... public string FieldZ {get;set;} } і спеціалізований об'єкт, схожий на DTO: class SmallObject{ public int Id {get;set;} public EnumType Type {get;set;} public string FieldC {get;set;} public string FieldN {get;set;} } Я особисто знаходжу концепцію …

4
Вибір мови програмування систематично [закрито]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 5 років тому . Я шукаю методологію вибору мови. Я не прошу думок щодо мов. Мені поставлено завдання …

5
Які випадки, коли 'uint' та 'short' типи даних краще підходять, ніж стандартний int (32)?
Я розумію різницю у ємності та цінності, яку вони можуть представляти, але здається, що люди завжди користуються Int32незалежно від того, чи це підходить. Здається, ніхто ніколи не використовує непідписану версію ( uint), хоча багато часу вона підходить краще, оскільки вона описує значення, яке не може бути негативним (можливо, для представлення …
24 c# 

3
3D алгоритм упаковки для доставки товару
Я отримав завдання створити кошторис доставки, який пропонує найкраще розміщення товарів на якомога менше коробках: Існує кінцевий набір відомих розмірів прямокутної коробки Всередині коробки є багато довільних прямокутних предметів Чим менше ящиків слід використовувати найкраще. Оскільки доставка двох коробок 1x1x1 набагато дорожча, ніж одна коробка 1x2x1. Тут має бути пріоритет. …

5
Чи є тестування необхідною частиною методу Agile?
Я був у численних командах, які намагаються практикувати методи Agile, і часто ці команди є тестовими. Чи є тестування необхідною частиною практики методології Agile чи це просто практика XP, яка затягується протягом багатьох років?

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