В данной статье я хочу рассказать о том, что в моем понимании представляет собой модульная система и сайт.
И так представим себе хорошо организованное предприятие. В таком предприятии каждый отдел занимается своей частью работы, и не работает "за того парня". В моем представлении правильно организованная модульная система должна состоять из модулей выполняющих отдельные функции.
В подобных системах есть огромные преимущества:
- Облегчается отладка - чаще всего проблема заключается в одном, определенном модуле, и её не приходится искать во всем коде
- Легкость в добавлении новых функций
- Повышение безопастности - например защищаться от инъекций нужно только в модуле отвечающим за подключение к базе
- Быстрота работы - не нужно думать над лишним кодом
- Приятность работы с системой
Многие начинающие, в том числе и я(когда-то) совершают однотипные ошибки:
- Модули отвечающие за определенную функцию, выполняют еще и другие, не связанные с главной
- Главные модули не предоставляют весь функционал, в связи с чем, остальным приходиться заполнять нехватку этого фунционала своими силами
- Разработчик старается встиснуть весь системный функционал в один модуль
- Стараясь включить все нужные функции разработчик начинает переписывать стандартные функции языка.
Чтобы не допускать подобных ошибок следует придерживаться нескольких правил и советов:
- Не бойтесь создать еще 1 модуль, лучше иметь 1 баг в маленьком коде, чем в большом.
- Старайтесь развивать все модули одновременно, если понадобится дополнительный функционал от определенного модуля, не ленитесь добавить его.
- Не стоит добавлять в модуль функцию, из одной строчки нужную только 1му модулю, не стоит перегружать код лишним.
При правильной организации модульная система будет работать в разы лучше однофайловой, кроме того её разработка будет быстрой и приятной.
P.S. В следущей статье я рассмотрю принципы построения модульных систем.
Удачи, всегда ваш Александр 7ion