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

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

3
Ніколи не робіть публічних членів віртуальними / абстрактними - справді?
Ще в 2000-х моїй колезі сказали мені, що це зробити анти-зразком зробити публічні методи віртуальними чи абстрактними. Наприклад, він вважав такий клас, як недостатньо розроблений: public abstract class PublicAbstractOrVirtual { public abstract void Method1(string argument); public virtual void Method2(string argument) { if (argument == null) throw new ArgumentNullException(nameof(argument)); // default …

2
Обробка одночасності ES / CQRS
Нещодавно я почав занурюватися в CQRS / ES, тому що мені може знадобитися застосувати це на роботі. Це здається дуже перспективним у нашому випадку, оскільки це вирішило б багато проблем. Я накреслив своє грубе розуміння того, як додаток ES / CQRS повинен виглядати контекстуально під спрощений випадок використання банківських операцій …

4
Чи слід використовувати коди статусу HTTP для представлення помилок ділової логіки на сервері?
Я перебуваю на перехресті з деяким дизайном API для клієнта (JS у браузері), щоб поговорити з сервером. Ми використовуємо HTTP 409 Conflict для представлення невдалої дії через дію запобіжного блокування. Замок satefy запобігає випадковим внесенням змін у виробничі системи наших клієнтів. Мені було доручено попрацювати з 409s трохи більш витончено …
20 rest  api  web 

9
Чи запах кодів init ()?
Чи є якась мета для оголошення init()способу для типу? Я не запитую, чи слід віддавати перевагу init()конструктору чи як уникнути декларуванняinit() . Я питаю, чи є якесь - або Обгрунтування оголошуючи init()метод (бачачи , наскільки часто це) , або , якщо це код запах і його слід уникати. init()Ідіоми досить …

3
Чи є гарною практикою уникати попереджень та повідомлень?
Я, як правило, працюю з попередженнями та повідомленнями PHP, оскільки працюю над багатьма проектами, де це вже в реальному виробництві. Тепер, якщо я включу попередження та повідомлення на цих веб-сайтах, які продаються в реальному часі, вони будуть перевантажені ними. Проекти, над якими я працюю вдома, на місцевих, я, як правило, …
20 php  warnings 

7
Чому у Java є примітиви для різних розмірів?
У Java є примітивні типи для byte, short, intі longі те ж саме для floatі double. Чому потрібно, щоб людина встановила, скільки байтів слід використовувати для примітивного значення? Не вдалося розмір просто визначити динамічно залежно від того, наскільки велике було передане число? Я думаю про дві причини: Динамічне встановлення розміру …

3
Концептуальна невідповідність між прикладними службами DDD та API REST
Я намагаюся створити додаток, який має складний бізнес-домен та вимогу підтримувати REST API (не суворо REST, а орієнтований на ресурси). У мене виникають проблеми з розкриттям доменної моделі орієнтованим на ресурси. У DDD клієнтам доменної моделі необхідно пройти процедурний рівень «Служби прикладних програм», щоб отримати доступ до будь-якої ділової функціональності, …

1
Вкладені URL-адреси REST та ідентифікатор батьків, який краще дизайн?
Гаразд, у нас є два ресурси: Albumі Song. Ось API: GET,POST /albums GET,POST /albums/:albumId GET,POST /albums/:albumId/songs GET,POST /albums/:albumId/songs/:songId Ми знаємо, що ненавидимо якусь пісню, її називають Susy, наприклад. Де ми повинні вжити searchзаходів? Інше питання. Гаразд, зараз це більш реально. Відкриваємо альбом 1 і завантажуємо всі пісні. Ми створюємо об'єкти …

2
Чи може хтось пояснити подання поплавця в пам'яті?
Це не повторне запитання, коли я читав попереднє запитання. Хто-небудь може мені допомогти в розумінні how float values are stored in the memory. Я сумніваюсь, тут знаки float містять ' .'( for example 3.45), як '.'буде представлена ​​пам'ять у пам'яті? Може хто-небудь, будь ласка, уточнив мене діаграмою?

7
Аргумент за замовчуванням, що змінюється Python: чому?
Я знаю, що аргументи за замовчуванням створюються в час ініціалізації функції, і не кожен раз, коли функція викликається. Дивіться наступний код: def ook (item, lst=[]): lst.append(item) print 'ook', lst def eek (item, lst=None): if lst is None: lst = [] lst.append(item) print 'eek', lst max = 3 for x in …
20 python 

7
Різниця між шаблоном і принципом
Яка різниця між об'єктно-орієнтованими моделями дизайну та принципами? Вони різні речі? Наскільки я зрозумів, вони обидва намагаються досягти якоїсь спільної мети (наприклад, гнучкість). Тож чи можу я сказати, що модель є принципом і навпаки? Принцип проектування = твердий (тобто принцип інверсії залежності) Шаблон дизайну = Gof (тобто абстрактний заводський візерунок)

9
Загальні методи програмування для прискорення часу кодування
Я готуюсь до конкурсу програмування, де нам доводиться кодувати C ++ і справа в тому, щоб створити робочий код за короткий час. Прикладом може бути використання макросу для отримання мінімум двох входів або використання мемсетів для ініціалізації масивів (але мені сказали, що ви не повинні використовувати жодне тут ). Це …
20 c++ 

13
Чи слід додати до своїх абстрактних занять префікс "Анотація"? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Припустимо, у мене є абстрактний клас на ім'я Task. Чи існує стандарт чи конвенція, …

5
Мульти-оренда - одна база даних проти декількох баз даних
У нас є декілька клієнтів, системи яких поділяють певну функціональність, але також мають достатню ступінь різноманітності. Зростає кількість клієнтів - завжди здорова річ! - і різноманітність між їхніми підприємствами також збільшується. В даний час існує єдиний веб-сайт ASP.Net (Web Forms) (на відміну від веб-проекту), на якому є підпапки для кожного …

4
Чи слід зберігати False як Null в булевому полі бази даних?
Скажімо, у вас є додаток, який має булеве поле у ​​своїй Userтаблиці під назвою Inactive. Чи є щось по суті не так у тому, щоб просто зберігати false як null? Якщо так, чи можете ви пояснити, якою має бути нижня сторона? Я обговорював це з кимось кілька місяців тому, і …

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