все эти принципы и подходы очень хорошо ложатся только в одном случае: когда делаешь проект для того чтобы реализовать в нем solid) на реальных проектах есть куча проблем: - описанные dto'шки с кучей интерфейсов положить на реальность будет очень трудозатратно, как и поддержка. на проектах которые нужно запилить в срок это может дорого стоить. - постоянно и быстро адаптироватся к меняющимся бизнес требованиям гораздо важнее чем клепать красивые решения) иначе убытки и тогда будешь с красивым кодом но без прибыли - усложнение кода с кучей паттернов приводит к тому что новичкам гораздо труднее разобратся, а опытным нужно сильно много платить - некоторые случаи требуют максимальной оптимизации и в этом случае приходится нарушать любые принципы, лишь бы вместо 3 сек ответа сервера получить 0.1 сек) имхо для полноценного внедрения каких-либо принципов, подходов и практик есть резон взвесить а нужно ли оно мне на текущем проекте, чем бездумно внедрять новоосвоенный подход
Money должен быть абстрактным классом для классов Fiat, Crypto, Bonus и т.д, а не в одном ряду с ними. Если перепутано понятие Money и Fiat, то конечно же от класса Fiat класс Bonus не создашь. Это все равно что от класса RoomDoor создать дочерний класс ElevatorDoor.
Спасибо, интереснейший доклад! Очень близко к текущей ситуации на одном проекте
все эти принципы и подходы очень хорошо ложатся только в одном случае: когда делаешь проект для того чтобы реализовать в нем solid)
на реальных проектах есть куча проблем:
- описанные dto'шки с кучей интерфейсов положить на реальность будет очень трудозатратно, как и поддержка. на проектах которые нужно запилить в срок это может дорого стоить.
- постоянно и быстро адаптироватся к меняющимся бизнес требованиям гораздо важнее чем клепать красивые решения) иначе убытки и тогда будешь с красивым кодом но без прибыли
- усложнение кода с кучей паттернов приводит к тому что новичкам гораздо труднее разобратся, а опытным нужно сильно много платить
- некоторые случаи требуют максимальной оптимизации и в этом случае приходится нарушать любые принципы, лишь бы вместо 3 сек ответа сервера получить 0.1 сек)
имхо для полноценного внедрения каких-либо принципов, подходов и практик есть резон взвесить а нужно ли оно мне на текущем проекте, чем бездумно внедрять новоосвоенный подход
Спасибо, было интересно и полезно послушать.
Спасибо! Отличный доклад!
Наконец-то я целиком собрал в голове SOLID, пожалуй самый толковый материал для понимания. Но не для новичков
Легенда Тостера)
Научится бы так же наркоманить))) сколько пытаюсь научится программировать, как они рассказывают, на классах, интерфейсах итд, но не получается
Забавный челик)
Пересказ книги дяди Боба
Money должен быть абстрактным классом для классов Fiat, Crypto, Bonus и т.д, а не в одном ряду с ними. Если перепутано понятие Money и Fiat, то конечно же от класса Fiat класс Bonus не создашь. Это все равно что от класса RoomDoor создать дочерний класс ElevatorDoor.
Какой трешак... Неужели никто не видит, насколько всё печально??