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

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

1
Уникати конфліктів версій залежності?
Будь-який проект Java, який використовує мій jar, майже напевно матиме додаткову залежність від іншої банки, яку мій jar також містить як залежність. Проблема в тому, що інша банка має кілька версій. Як я можу уникнути будь-яких проблем, які можуть виникнути, імовірно, версія 2-ї банки вашого проекту відрізняється від версії 2-ї …

1
Проблема, що розуміє, як виглядає чистий код у реальному житті
Зараз я читаю і працюю над «Чистим кодом: Підручник з гнучкої майстерності програмного забезпечення» Роберта К. Мартіна. Автор розповідає про те, як функція повинна виконувати лише одне, і таким чином бути відносно короткою. Конкретно Мартін пише: Це означає, що блоки в операторах if, операторах else, в той час як оператори …
10 clean-code 

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

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

4
Переробка функції, що повертає цілий код, який представляє багато різних статусів
Я успадкував якийсь жахливий код, до якого я включив короткий зразок нижче. Чи існує назва цього анти-шаблону? Які рекомендації щодо цього рефакторингу є? // 0=Need to log in / present username and password // 2=Already logged in // 3=Inactive User found // 4=Valid User found-establish their session // 5=Valid User …

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

2
Вирішення завдань, пов'язаних із затвердженням діадичної функції (рівності (очікувані, фактичні)
Після років кодування ковбоя я вирішив забрати книгу про те, як написати код хорошої якості. Я читаю чистий код Роберта Сесіля Мартіна. У главі 3 (функції) є розділ про діадичні функції. Ось уривок із книги. Навіть очевидні діадичні функції на кшталт assertEquals(expected, actual)є проблематичними. Скільки разів ви ставили фактичне там, …
10 functions 

3
Вивчення мови програмування, спеціально розробленої для цієї компанії [закрито]
Закрито . Це питання потребує деталей або ясності . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Додайте деталі та уточніть проблему, відредагувавши цю публікацію . Закрито 2 роки тому . Чому б хтось розробив свою власну мову, щоб використовувати її тільки всередині цієї фірми, коли у вас є інші …

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

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

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

6
Що робити з командою розвитку, яка голодує? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 3 роки тому . Це нормально бути на критичному шляху як звичайний розробник, особливо якщо ви спізнюєтеся. Коли …

3
Впорскування в залежності: Чи слід створити клас "Автомобіль", щоб вмістити всі його частини?
У моєму додатку C ++ є багато автомобілів, які містяться у RaceTrack. Кожна машина складається з сотень деталей. Кожна частина залежить від якоїсь іншої частини чи двох. Я прочитав багато запитань ТА щодо книги Д.І. та Марка Семана, і, схоже, я не повинен визначати клас «Автомобіль» лише для того, щоб …

2
Який передбачуваний або цільовий організаційний розмір для масштабних скрутних масштабів (LeSS) та масштабованої Agile Framework (SAFe)?
Керівництво Scrum визначає єдиний блок, що складається з Власника продукту, команда розробників з 3-9 членів, і 1 Scrum Master де - то між 5 і 11 членів. Я бачив випадки, коли у Власника продукту може бути персонал підтримки, або команда може не мати спеціалізованого майстра Scrum, який міг би змінити …

3
Куди подіти бізнес-логіку, якщо використовуєте Firebase?
Я збираюся розпочати розробку веб-програми на одній сторінці, яка дуже спростила систему багатокористувацької документації. Передній кінець, ймовірно, використовуватиме Angular2. Проект має короткий термін, тому я шукав "ярлики", тобто використовую різні готові сервіси замість того, щоб реалізовувати все з нуля. Мені знадобиться якийсь бекенд, щоб зберігати дані програми. Я оглянувся і …

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