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

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

10
За яких умов використання MVVM доцільно?
Model View View-Model була розроблена корпорацією Майкрософт для орієнтації на платформи розробки інтерфейсу, які підтримують керовані подіями програмування, зокрема Windows Presentation Foundation (WPF) та Silverlight на платформах .NET, використовуючи мови XAML та .NET. За роки, коли багато рамок Javascript, таких як Angular, Knockout та ExtJS, прийняли цей зразок. Як і …

4
Визначення, що є корисним одиничним тестом
Я переглядав документи phpunit і зіткнувся з наступною цитатою: Завжди можна написати більше тестів. Однак ви швидко виявите, що лише частина тестів, які ви можете уявити, насправді корисні. Те, що ви хочете, - це написати тести, які виходять з ладу, навіть якщо ви думаєте, що вони повинні працювати, або тести, …

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

11
Значення асинхронного проти синхронного [закритого]
Яке значення слів асинхронних та синхронних в інформатиці? Якщо ви перейдете значення google, ви отримаєте наступне: Асинхронний: не існує або виникає одночасно . Синхронні: існуючі або виникають одночасно . Але, схоже, вони використовуються для передачі протилежного значення в програмуванні або інформатиці: Атрибут HTML async означає, що сценарій буде виконаний, як …

3
Чому ми все ще вирощуємо стек назад?
Під час компіляції коду C і перегляду складання у нього все стек відростає так: _main: pushq %rbp movl $5, -4(%rbp) popq %rbp ret -4(%rbp)- це означає, що базовий покажчик або покажчик стека насправді рухаються вниз по пам'яті, а не піднімаються вгору? Чому так? Я змінив $5, -4(%rbp)до $5, +4(%rbp)підбиралася і …
46 c  memory  assembly 

7
Що сталося з обмеженнями в базі даних?
Переглядаючи моделі баз даних для RDBMS, я зазвичай здивований, виявляючи мало-ніяких обмежень (окрім PK / FK). Наприклад, відсоток часто зберігається у стовпчику типу int(хоча це tinyintбуло б більш доцільно), і немає CHECKобмежень обмежувати значення діапазоном 0..100. Аналогічно на SE.SE, у відповідях, що пропонують перевірити обмеження, часто надходять коментарі, які свідчать …

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

6
Чи краще перевірити `c> = '0'` або` c> = 48`?
Після дискусії з деякими моїми колегами у мене виникло "філософське" запитання про те, як поводитися з типом даних char на Java, дотримуючись кращих практик. Припустимо, простий сценарій (очевидно, це лише дуже простий приклад для того, щоб надати моєму значенню питання), де, враховуючи рядок "Вхід", ви повинні підрахувати кількість числових символів, …


7
Чому ланцюжок сетерів нетрадиційний?
Ведення ланцюга на бобах дуже зручно: не потрібно перевантажувати конструкторів, мегаконструкторів, заводів, а також підвищує читабельність. Я не можу придумати жодних недоліків, якщо ви не хочете, щоб ваш об’єкт був непорушним , і в такому випадку у нього все одно не було б ніяких сетерів. Тож є причина, чому це …

4
Чи є щось новаторське щодо NoSQL? [зачинено]
Я дуже солідний хлопець з реляційних баз даних і розумію аж до 3-ї нормальної форми, ціную коріння алгебраїчної теорії множин SQL і, ймовірно, можу відновити розбите серце (чи ні). Я не з'ясував реляційну структуру баз даних ДЛЯ ночей побачень з моєю дружиною, але я думав про проекти реляційних баз даних …
46 nosql 

3
Чому модель анемічного домену вважається поганою в C # / OOP, але дуже важливою для F # / FP?
У публікації блогу на F # для розваги та прибутку написано: У функціональному дизайні дуже важливо відокремити поведінку від даних. Типи даних прості та "німі". А потім окремо у вас є ряд функцій, які діють на ці типи даних. Це якраз протилежність об'єктно-орієнтованому дизайну, де маються на увазі поєднання поведінки …

6
Хороша чи погана практика маскувати колекції Java значущими іменами класів?
Останнім часом я звик "маскувати" колекції Java під назви класів, зручних для людини. Деякі прості приклади: // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } Або: // If you saw a ArrayList<ArrayList<?>> being passed around in the code, would you // …

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

2
Як REST API повинен обробляти запити PUT до частково модифікованих ресурсів?
Припустимо, API REST у відповідь на GETзапит HTTP повертає деякі додаткові дані в суб-об'єкт owner: { id: 'xyz', ... some other data ... owner: { name: 'Jo Bloggs', role: 'Programmer' } } Зрозуміло, що ми не хочемо, щоб хтось мав можливість PUTпідтримати { id: 'xyz', ... some other data ... …

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