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

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

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

3
Моноліти масштабування проти масштабування мікросервісів
Одним із поширених аргументів використання мікропослуг є краща масштабованість. Але мені цікаво, чи справді цей аргумент справедливий. Скажімо, у нас був додаток, що складається з 10 мікросервісів, 9 з яких мали по два екземпляри (для надмірності) і один з них з 4 примірниками для обробки навантаження (масштабованість). Аргумент pro-мікросервісу полягає …

2
Як створити контроль доступу на основі ролей?
Я намагаюся керуватися рольовою моделлю контролю доступу, щоб обмежити, що користувачі можуть чи не можуть робити у моїй системі. Поки що у мене є такі суб'єкти: користувачі - люди, які будуть використовувати систему. Тут у мене є імена користувачів та паролі. role - Сукупність ролей, які можуть мати користувачі. Такі …

5
Використання Func замість інтерфейсів для IoC
Контекст: я використовую C # Я створив клас, а для того, щоб виділити його та полегшити тестування, я проходжу всі його залежності; він не має об'єктів миттєвого встановлення внутрішньо. Однак замість посилання на інтерфейси для отримання потрібних йому даних, я маю на ньому посилання на функцій загального призначення, які повертають …

2
Куди йдуть виправлення у моделі git-flow?
У, зазвичай називаються, виправлення моделей Git-flow входять у свою специфічну hotfix-*гілку та невеликі виправлення інтеграції безпосередньо перед випуском переходять у release-*гілку. Загальні помилки попередньої версії, схоже, не мають місця. Де вони повинні з’явитися? Чи повинні вони бути у власній bug-*гілці develop(як подібно до featureгілок)?
15 git  gitflow 

4
Кращі практики щодо методів відображення та розширення типів
Я хочу задати кілька питань щодо найкращих практик щодо типів відображення та використання методів розширення в C #. Я знаю, що ця тема обговорювалася неодноразово за останні кілька років, але я прочитав багато публікацій і все ще сумніваюся. Проблема, з якою я зіткнулася, - це розширення класу, яким я володію, …

2
Яка різниця між необов'язковими та типовими Nullable
Свіфт має Optionals. C # має Nullableтипи. Наскільки я можу сказати, обидва служать одній і тій же цілі, окрім значення якогось типу, вони зберігають інформацію про те, чи має змінна значення чи неозначена (неініціалізована). Питання - це Optionalsлише Nullableтипи з різною назвою чи є інші концептуальні відмінності? Іншими словами, якщо …

5
Який найефективніший спосіб ділитися кодом між .NET-додатками?
У своїй роботі у нас є кілька різних .net-додатків, які мають багато базових функціональних можливостей. Ми створили ці програми за допомогою чистої n-ярусної архітектури, але ми потрапили в той момент, коли зрозуміли, що повторно реалізували одні і ті ж функції кілька разів. Очевидно, це порушує DRY, і ми хотіли б …

2
Як запобігти обробці моїх виконуваних файлів від таких AV, як погані чи вірусні?
Я створюю програмне забезпечення, яке працюватиме на Windows і буде діяти як програма запуску для гри, яка буде функцією автоматичного оновлення та перевірки файлів на ПК клієнта. Я не розумію, чому моє антивірусне програмне забезпечення (Avast) вважає мій файл exe небезпечним і не запустить його, не вимагаючи помістити його в …

3
Чиста архітектура - Занадто багато класів використання
Я заходжу в чисту архітектуру і піднімаю рівень Android з MVC на MVP , представляю DI з Dagger 2, Reactivity з RxJava 2 і звичайно Java 8. У чистій архітектурі MVP існує шар між сутностями (у сховищах даних) та презентаторами, які мають отримати доступ до них. Цей шар є "Справою …
15 java  android  use-case  mvp 

1
Яке ім'я для нерозширеної частини імені файлу? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 3 роки тому . З огляду на шлях файлу: /some/path/abc.txt Ім'я файлу "abc.txt", а розширення - "txt". Що …

2
Як працює спляча нитка?
Коли ви спите ниткою, що насправді відбувається? Я бачу, що спляча нитка "призупиняє поточну нитку на заданий проміжок часу" . Але тільки як це працює? Відповідно до того, як Thread.sleep () працює внутрішньо і як насправді працює Thread.sleep? : тривалість сну залежатиме від певної системної деталізації сон блокує потік залишає …

3
Чи слід повертати відповідь 204 або 404, коли ресурс не знайдено?
Я розробляю простий RESTful сервіс для турнірів та розкладів. Коли турнір створюється за допомогою POST-запиту, що містить тіло JSON, турнір вставляється у a BiMap, оголошений таким чином у реалізації DAO: private BiMap<String, Tournament> tournaments = Maps.synchronizedBiMap(HashBiMap.create()); Коли створюється турнір, його асоційований рядовий ідентифікатор повертається, щоб користувач міг мати майбутнє посилання …
15 java  rest  web-services  http 

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

2
Куди подати невдалий тест?
Я просто змінив налаштування гілки в моєму сховищі GitHub, так що моя [наступна] гілка вимагає проходження збірки CI через запит на витяг. Після декількох членів команди відбулася дискусія про невдалі тести. Заради контексту ... Сховище має [майстер] гілка , яка тільки PR'd в коли є реліз, так [майстер] містить код …

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