169 похожих чатов

Ребят, вопрос концептуального характера: на сколько важно оперировать абстракциями и

инжектить имплементации? можно ли в маленьком пет-проекте (если очень впадлу) хардкодить имплементацию?

8 ответов

19 просмотров

Ни в коем случае нельзя! Все закрывать интерфейсами с двух сторон! Выделить клин на 5 слоёв, каждый в своем gradle-модуле! на все писать 100% тесты, всех 4х видов, и в результате вынести часть функционала в библиотеку и построить на ней бизнесс (можно)

А кто-то запрещает? Всякие архитектурные паттерны придуманы для разграничения функционала/логики по слоям, для удобства отладки и т.д. Все зависит от того, для чего вам проект нужен.

Yehor-Sereda Автор вопроса

ну типа есть две стороны, с одной стороны огромная продуктивность девелопа, с другой супер-низкая продуктивность дебага и саппорта кода.

Если речь про пет-проект в нем отсутствует поддержка. Написал и забыл. Если работает неправильно - пускай работает неправильно

а если это коммерческий продукт - хорошее выделение очень важно, чтобы потом баг 2 недели не искать

Чувак делай как тебе удобно

А потом когда баги появляются (если ты их не выводишь на UI ещё сразу зачастую), то на фикс уходит больше времени (в целом, не один раз наверняка такое случится), поэтому можно писать сразу по ТДД и т.д. чтобы быть уверенным в коде и чтобы ничего не давило на нервы

+ про 2 недели искать баг

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта