Я надеюсь, что этот документ позволит нам задуматься над связями в нашем коде и начать улучшать архитектуру нашего ПО. Любое дело начинается с мысли ...
Слои сайта и зависимости между ними
P.S. Серёга, спасибо за вдохновение, ты буквально стал моей музой! :) Надеюсь после прочтения ты посмотришь критически на архитектуру компонента ACL и связи внутри него. ;)
ACL придётся переделывать. Изначально хорошая идея, как минимум в одном месте была запорота. Но это исправимо. :)
ОтветитьУдалитьСерёга - это классно, что ты обладаешь этим замечательным качеством настоящего исследователя - критический вгляд (без шуток)! Но главное даже не переделать ACL сейчас. Мне кажется, главным для нас всех является приход к единому командному стилю разработки. Когда можно открыть любой участок кода и без труда за коротокое время понять решения, которые принимал автор при разработке и мотивы этих решений. Это близко к термину Design Patterns, но только в более узком смысле и для отдельно взятой команды.
ОтветитьУдалитьПри этом не подрузамевается шаблонность, отформатированность мозгов (а-ля Mail.ru) и отсутствия элемента творчества. Просто творчество, красота, кайф заключается в том, чтобы передвинув в голове два блока, написав 3 новых класса, обобщив функционал пары старых классов и переиспользовав десяток уже имеющихся, произведя в общей сложности изменений всего на 100 строк, треть из которых документация, получить в итоге новый мощный инструмент, который применим ещё в 100 случаях. А такое возможно только если задействовать потенциал всей команды и направить его в едином направлении, только если позволить информации свободно циркулировать в нашей среде.
Нужно исправить нашу закрытость по отношению друг к другу (и это самое сложное), а остальное придёт само, IMHO.