Разделяй и властвуй

Разделяй и властвуй

«Разделяй и властвуй» — это изречение Филиппа Македонского, которому строго следовали Юлий Цезарь и Наполеон Бонапарт. Это также верно в программировании. Вы наверняка услышите, что модулированный код легко поддерживать. Напротив, скопление всего кода в одном месте часто сравнивают со спагетти..

goto = функции

Первоначально термин «спагетти-код» произошел от инструкций goto в некоторых старых языках программирования. Раньше Goto был единственным способом вернуться к старому «фрагменту» кода и повторно выполнить его. В противном случае никакие циклы не могли бы быть реализованы.

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

Читать также:  Вкладки часть 1

Сайт (или программа) всегда состоит из множества функций. Возможно, что они иногда взаимодействуют, но обычно их разделяют. Если в нашем коде нет модулей, а есть только летающие функции, которые вызывают друг друга — мы все равно получим спагетти. Просто вместо goto мы вызываем функцию. Конечный результат, однако, тот же.

«Физическое» расщепление кода

Правильному форматированию и модуляции кода часто помогает его физическое разделение на файлы. На многих сайтах вы увидите несколько загруженных файлов .CSS или .JS. По крайней мере — некоторые из плагинов.

С одной стороны, это дает преимущества при сопровождении кода. С другой стороны, на нашу страницу загружается много файлов. И каждый файл заставляет браузер устанавливать новое соединение с сервером (игнорируя протокол HTTP2). Загрузка 10 файлов размером 10 КБ выполняется медленнее, чем загрузка 1 файла размером 100 КБ. Получается, что лучше все хранить в одном файле.

Читать также:  Перегородка происхождение и улучшения

Как тогда бороться с поддержкой этого огромного файла?

Вот уже несколько лет, как статические файлы на сайте подвергаются любой обработке. В результате можно использовать более современный синтаксис. Он преобразуется в код, который поддерживается всеми браузерами, и позволяет объединить несколько файлов в один..

Инструменты для этого для Task Runners и Bundlers. Два типа инструментов можно использовать по отдельности или подключать друг к другу..

Понравилась статья? Поделиться с друзьями:
Что нужно знать пользователю?