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

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

5
Якщо шаблон сховища є надмірним для сучасних ОРМ (EF, nHibernate), що таке краща абстракція?
Нещодавно я прочитав багато аргументів проти використання шаблону репозиторію з потужним ORM, як Entity Framework, оскільки він містить функціонал схожих на сховища, а також функціонал Unit of Work. Інший аргумент проти використання шаблону для такої ситуації, як тестування одиниць, полягає в тому, що модель сховища є протікаючою абстракцією, оскільки більш …

4
Чому не існує послідовного визначення суттєвих понять для ООП?
Я дуже новачок у програмуванні та трохи заплутаний у читанні \ слуханні різних конвенцій з різних джерел: Чи об'єктно-орієнтоване програмування має 4 або 5 понять? Як новачок я розумію, що це 5 понять: Абстракція Спадщина Інкапсуляція Поліморфізм Модульність То чому я не знаходжу більш "суворого" визначення, і, здається, існує кілька …

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

1
Що означає "Розв'язання" в програмуванні? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Я бачу в багатьох місцях, де використовується слово Resolve, у Dependency Injection (вирішити реалізацію …

4
Паралельні ієрархії - частково однакові, частково різні
Є дуже багато подібних питань 1 ,2 ,3 ,4 , але в цьому питанні це не так, і рішення не здаються оптимальними. Це загальне питання про ООП, припускаючи, що наявні поліморфізм, генерики та міксини. Фактична мова, якою слід скористатись, є OOP Javascript (Typescript), але це та сама проблема в Java …

2
Чи повинен я перевірити свої підкласи або свій абстрактний батьківський клас?
У мене є скелетна реалізація, як у пункті 18 від Ефективна Java ( тут розширена дискусія ). Це абстрактний клас, який пропонує 2 відкритих методу methodA () та methodB (), які викликають методи підкласів для "заповнення прогалин", які я не можу визначити абстраговано. Я розробив його спочатку, створивши конкретний клас …

3
У Scrum, чи повинні розробники спілкуватися безпосередньо з клієнтами (оминаючи PO)?
Як власник продукту в scrum має вирішувати дуже детальні запитання команди щодо функцій, які вони реалізують, що він не може миттєво відповісти собі? Коли б, очевидно, було швидше рішення для розробника безпосередньо поговорити з самим замовником? Цікаво, чи прямий зв’язок між командою та замовником підриває роль власника товару. Я відчуваю, …

2
Готовність проти завершення Використання пам'яті Async IO?
Я дивився цю розмову про впровадження Async IO в Rust, а Карл згадує про дві потенційні моделі. Готовність та завершення. Модель готовності: ви скажете ядро, яке ви хочете прочитати з сокета робити інші речі на деякий час ... ядро повідомляє вам, коли сокет готовий ви читаєте (заповнюйте буфер) робіть все, …
12 async  io 

6
Як ми можемо включати лише готові до випуску функції у своїх виробничих випусках кожні другий тиждень?
Я розробник програмного забезпечення в досить великій команді (у нас вісім розробників активно вносять зміни до одного сховища коду). Кожні два тижні ми підштовхуємо до виробництва нову версію нашого програмного забезпечення. Ось наш поточний робочий процес: Розпочинаючи нове завдання, розробники створюють "особливу гілку" від основної гілки розвитку (ми використовуємо git …

1
Java 8: Хороша практика передавати потоки в API для ледачих операцій?
У бібліотеках, що мають важкі лямбда-файли перед Java 8, такими як Guava, виводи використовують загальні інтерфейси Java Collection Framework, тому їх легко передати зовнішнім / внутрішнім API і все-таки використати деякі ледачі обчислення, якщо бібліотечний метод це робить (наприклад, ледачий filter()і transform()). Однак у Java 8 Streams виклик отримати a …
12 java  lambda 

2
Що означає алгоритм конвергенції?
Я продовжую стикатися з цим терміном, коли читаю про підкріплення, наприклад, у цьому реченні: Якщо проблему моделюють обережно, деякі алгоритми навчання посилення можуть сходитися до глобального оптимуму http://reinforcementlearning.ai-depot.com/ або тут: Для будь-якої фіксованої політики Pi алгоритм TD, описаний вище, було доведено, що він збігається до VPi http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node62.html Я розумію, що …

1
Швидке індексування k-комбінацій
Я переглядаю стару проблему, над якою працював деякий час тому. Типовий сценарій - "3 біти встановлюються в межах 8-бітного цілого", тобто 00000111. Всі унікальні комбінації з 3-ма набірними бітами можна легко генерувати (в порядку) вкладеними петлями. Мене цікавить комбінація індексу відображення <->, тобто "00001011" буде другою комбінацією (або значення "1" …

3
Використання "цього" в Голангу
Найближче до Golang - це посібник зі стилів, знайдений тут , під іменами отримувача написано: Назва приймача методу має бути відображенням його ідентичності; часто достатньо одного або двох буквених скорочень такого типу (наприклад, "c" або "cl" для "Клієнта"). Не використовуйте загальні імена, такі як "я", "це" або "само", ідентифікатори, характерні …

2
Авторизація користувача за допомогою мікросервісів
Чи повинні мікросервіси нести відповідальність за обробку їх власного дозволу, чи ви вважаєте, що краще мати окрему службу авторизації, яка спільна для всіх або підмножина (в межах одного бізнес-домену) мікросервісів? Для мене останній має більше сенсу, оскільки полегшує застосування змін, застосування політики; це СУХО і т. д. Однак це може …

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

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