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

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

6
Чи побудують суперечки та стабільний розвиток протиріччя?
Я є частиною групи розвитку з 5 командами, загалом близько 40 розробників. Ми дотримуємось методології Scrum, з 3-тижневими спринтами. У нас є безперервна установка інтеграції (Дженкінс), трубопровід якого займає кілька годин (за рахунок широких автоматизованих тестів). В основному процес розробки працює добре. Однак ми зауважуємо, що через кілька днів у …

1
Служба REST як сервер додатків для 2000+ клієнтських машин. Це гарна ідея?
Ми будемо будувати систему з інтерфейсом в javaFx, яка буде розгорнута до 2000+ машин (мінімум 2000, але буде більше - може досягти 5000 машин). З інших причин / обмежень він повинен бути встановлений на машині, тому ми не можемо зробити це з інтерфейсом веб-браузера. Машини 2000+ будуть в різних географічних …
11 java  design  rest  spring 

4
Чи варто створити повнофункціональний додаток або голі кістки, а потім повільно додавати функції?
Я працюю на виробничому заводі, який доручив ІТ створити програму планування роботи магазину (це дуже потрібно). Виходячи з іншого досвіду, було б краще взяти менше часу та створити базовий базовий фреймворк, який можна використовувати, а потім надбудувати на ньому додавання функцій або почати, створивши повністю реалізоване рішення прямо поза воротами. …

4
Як вказати передумову (LSP) в інтерфейсі на C #?
Скажімо, у нас є такий інтерфейс - interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } Передумовою є те, що ConnectionString повинен бути встановлений / ініціалізований перед тим, як запустити будь-який із методів. Цю передумову можна дещо досягти, …

3
Як виконати перевірку вводу без винятків або надмірності
Коли я намагаюся створити інтерфейс для певної програми, я, як правило, намагаюся уникати викидів, що залежать від неперевірених даних. Тож часто трапляється так, що я придумав такий фрагмент коду (це лише приклад заради прикладу, не заперечуйте проти функції, яку він виконує, наприклад у Java): public static String padToEvenOriginal(int evenSize, String …

2
CQRS без DDD і без (або з?) ES - що таке модель запису і що читається модель?
Наскільки я розумію, великою ідеєю CQRS є наявність двох різних моделей даних для обробки команд та запитів. Вони називаються "модель запису" та "модель читання". Розглянемо приклад клонування програми Twitter. Ось команди: Користувачі можуть зареєструватися. CreateUserCommand(string username)випускаєUserCreatedEvent Користувачі можуть стежити за іншими користувачами. FollowUserCommand(int userAId, int userBId)випускаєUserFollowedEvent Користувачі можуть створювати повідомлення. …
11 cqrs  read-model 

6
Названня: Чи варто жертвувати стислістю для ясності?
Наприклад, наступна функція проходить через масив, який містить ім'я та помилки поля введення. Це робиться, перевіряючи ім'я поля, що підтверджує, а потім натискаючи інформацію про помилку до масиву недійсних полів. Чи краще бути коротким і написати це: addInvalidField (field, message) { const foundField = this.invalidFields.find(value => { return value.name === …

2
Відокремлення бізнес-логіки від DB-логіки з транзакціями
У нашому застосуванні є три шари. Службовий рівень для надання зовнішнього API. BO-шар для нашої логіки бізнесу та DAO-шар для підключення до нашої бази даних. Скажімо, щоразу, коли ми оновлюємо Файл, ми також хочемо щось змінити в папці, наприклад, "остання змінена дата". Це потрібно зробити в рамках транзакції. Або це …

3
Entity Framework та уникнення анемічної моделі домену
У нашій бізнес-логіці періодично є методи, визначені приблизно так: User.ResetCourse(Course courseToReset) Проблема полягає в тому, що і користувач, і курс є проксі-об'єктами Entity Framework. Це означає, що коли ми потрапляємо на властивості навігації або на користувачі, або на курс, це може спричинити величезне потрапляння в базу даних, тому що ці …

5
Якщо одна помилка повинна провалити групову операцію?
В API, над яким я працюю, є операція масового видалення, яка приймає масив ідентифікаторів: ["1000", ..., "2000"] Я міг вільно реалізувати операцію видалення так, як вважав за потрібне, тому вирішив зробити всю справу трансакційною: тобто, якщо один ідентифікатор недійсний, весь запит виходить з ладу. Я назву це суворим режимом. try{ …

5
Яка хороша практика дизайну, щоб не задавати тип підкласу?
Я читав, що, коли вашій програмі потрібно знати, що таке клас об'єкта, зазвичай вказують на недолік дизайну, тому я хочу знати, яка хороша практика для цього. Я реалізую клас Shape з різними підкласами, успадкованими від нього, як Circle, Polygon або Rectangle, і я маю різні алгоритми, щоб знати, чи коло …

2
Чи вважається лінивим, якщо я використовую пакет лінійної алгебри для C ++?
По-перше, дозвольте мені ознайомитись із тим, перш ніж я фактично викладу це питання. Я вивчаю фізику, і всі мої уроки програмування проходили на легких мовах програмування, таких як MATLAB. Легко я маю на увазі, що мова робить для вас багато думок ... Наступні роки я буду приймати курси інформатики, і …
11 c++  experience 

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

9
Яким повинен бути внесок команди scrum?
Наша команда scrum складається із звичних ролей scrum. У нас немає дизайнера UI / UX, і розробники працюють з UI / UX з власником продукту. Тут криється проблема. Щоразу, коли ми збираємося створити відставання, і не визначаємо точний дизайн UI / UX до початку спринту, ми закінчуємо витрачати занадто багато …
11 agile  scrum 

3
Чи можливо реалізувати добре розподілену хеш-таблицю без використання оператора%?
Я хочу впровадити швидку, добре розподілену хеш-таблицю в C #. У мене виникають проблеми з вибором функції обмеження хешу, яка приймає довільний хеш-код і "обмежує" його, щоб його можна було використовувати для індексації відра. Дотепер я бачу два варіанти: З одного боку, ви можете переконатися, що у ваших відрах завжди …

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