Философия модульных сайтов, часть 1

В данной статье я хочу рассказать о том, что в моем понимании представляет собой модульная система и сайт.

И так представим себе хорошо организованное предприятие. В таком предприятии каждый отдел занимается своей частью работы, и не работает "за того парня". В моем представлении правильно организованная модульная система должна состоять из модулей выполняющих отдельные функции.

В подобных системах есть огромные преимущества:

  • Облегчается отладка - чаще всего проблема заключается в одном, определенном модуле, и её не приходится искать во всем коде
  • Легкость в добавлении новых функций
  • Повышение безопастности - например защищаться от инъекций нужно только в модуле отвечающим за подключение к базе
  • Быстрота работы - не нужно думать над лишним кодом
  • Приятность работы с системой

Многие начинающие, в том числе и я(когда-то) совершают однотипные ошибки:

  1. Модули отвечающие за определенную функцию, выполняют еще и другие, не связанные с главной
  2. Главные модули не предоставляют весь функционал, в связи с чем, остальным приходиться заполнять нехватку этого фунционала своими силами
  3. Разработчик старается встиснуть весь системный функционал в один модуль
  4. Стараясь включить все нужные функции разработчик начинает переписывать стандартные функции языка.

Чтобы не допускать подобных ошибок следует придерживаться нескольких правил и советов:

  1. Не бойтесь создать еще 1 модуль, лучше иметь 1 баг в маленьком коде, чем в большом.
  2. Старайтесь развивать все модули одновременно, если понадобится дополнительный функционал от определенного модуля, не ленитесь добавить его.
  3. Не стоит добавлять в модуль функцию, из одной строчки нужную только 1му модулю, не стоит перегружать код лишним.

При правильной организации модульная система будет работать в разы лучше однофайловой, кроме того её разработка будет быстрой и приятной.

P.S. В следущей статье я рассмотрю принципы построения модульных систем.

Удачи, всегда ваш Александр 7ion


© Alexander Semion