Дякую, @Anna за висвітлення цікавої теми. У @Tyrrrz-а реально цікаві проекти і якісний код. Я, як .NET розробник, читаю його код як гарну художню книжку, з естетичним задоволенням.
Прохання до адміністрації DOU створити опитування про заходи, вжиті компаніями для запобігання коронавірусу, наприклад: робота з дому (самовільно чи централізовано), санітарна обробка приміщень, доставка до офісу співробітників проектів за якими неможлива дистанційна робота, організація харчування, опенспейси, тощо.
Буде цікаво порівняти з інформацією, наданою компаніями тут dou.ua/...ronavirus-vs-ukrainian-it.
IMHO. Гнучкі методології працюють по тому ж принципу, що й еволюція, вільний ринок тощо. Звідси плюси й мінуси. Плюси: висока адаптивність, порівняно невелика вартість, висока залученість замовника, дуже гарно працює для проектів невисокого рівня складності. Мінус в основному один, як і в усьому, що створюється шляхом поступового пристосування до обставин (вимог) — висока ймовірність застрягнути на локальному естремумі. І щоб з нього вистрибнути треба провести рефакторинг чи навіть переглянути архітектуру рішення. Тобто, хоч на короткий проміжок часу вийти за межі Agile
Мене дивують коменти про соціальну відповідальність. Вважаю авторів даних коментів ідеалістами. Згоден, що кожен громадянин має бути законослухняним. Але наразі мова йде не про індивідуальні властивості кожного, а про розвиток сфери ІТ та країни в цілому й психологію масової свідомості або навіть елементарні законі фізики такі як закон сполучених посудин. Тому вважаю що підвищення податків призведе до знищення галузі в країні. «Якщо неправильно керувати країною, всі розумні люди поїдуть» Лі Куан Ю
Думаю, не стоит путать социальную ответственность с профессиональной
Використовую власну версію негенерікового Repository + QueryObject. (Lightweight версія Specification від Ardalis, чи Антона Мартинюка. Не розумію, чому Ардаліс, а за ним і Антон назвали це Specification. В світі розробки термін Specification зазвичай застосовують до Query conditions)
Приклад на Github
Це дозволяє:
1. Мати єдиний Repository в якого можна запитати будь-який запит, що зменшує кількість залежностей і вирішує спори в який саме репозиторій додавати методи.
2. Легко мокається:
_repository.GetAsync(It.IsAny<AdminUsersQuery>()).Returns([new User{ IsAdmin = true }]);