Мозг работы известного доктора.
Для того, чтобы работать с системой, надо сначала почувствовать себя системой. Надо держать в голове основной алгоритм и все суб-алгоритмы, которые имеют значение в данной ситуации. Это называется концентрацией. Чем более сильна концентрация, чем более четко это представление, тем быстрее программист отработает задачу*. Когда имеешь дело с большим адаптивным проектом, а то и с несколькими, важно экономить не только и не столько ресурсы сервера, сколько ресурсы разработчика. С этой точки зрения разбиение структуры на максимальное количество небольших автономных модулей позволяет уменьшить количество информации, подгружаемой в оперативную память программиста, способствует сохранению концентрации.
Поэтому программисту нельзя отвлекаться от работы на другие (даже мелкие) задачи, на поиск нужных файлов, на поиск нужного места в файле, на почесывание в паху - это все лишняя затрата ресурсов, в то время как ему нужно держать в голове сам проект и, в более четком представлении, рассматриваемый набор деталей проекта.
Вот почему как только программист начинает чувствовать концентрацию, в его файлах и кодах появляется порядок.
*- иначе говоря, если у тебя хватило ресурсов проанализировать и разложить по полочкам все происходящее, то это полдела - тебе понадобится еще немного ресурсов, чтобы проанализировать картину после изменений, способ внесения изменений и пр. Если на что-то ресурсов не хватает, то ты будешь выгружать из памяти данные, чтобы загрузить в них нужные в текущий момент. Это чревато тем, что придется несколько раз восстанавливать в голове одни и те же данные, что, сцуко, нерационально, а кроме того, выгрузка-загрузка всегда приводит к сбоям в хранении данных, т.е. пока до этого не доходит дело, представление имеет более высокую четкость, чем когда оно "забыто" и заново "вспомнено".
Поэтому программисту нельзя отвлекаться от работы на другие (даже мелкие) задачи, на поиск нужных файлов, на поиск нужного места в файле, на почесывание в паху - это все лишняя затрата ресурсов, в то время как ему нужно держать в голове сам проект и, в более четком представлении, рассматриваемый набор деталей проекта.
Вот почему как только программист начинает чувствовать концентрацию, в его файлах и кодах появляется порядок.
*- иначе говоря, если у тебя хватило ресурсов проанализировать и разложить по полочкам все происходящее, то это полдела - тебе понадобится еще немного ресурсов, чтобы проанализировать картину после изменений, способ внесения изменений и пр. Если на что-то ресурсов не хватает, то ты будешь выгружать из памяти данные, чтобы загрузить в них нужные в текущий момент. Это чревато тем, что придется несколько раз восстанавливать в голове одни и те же данные, что, сцуко, нерационально, а кроме того, выгрузка-загрузка всегда приводит к сбоям в хранении данных, т.е. пока до этого не доходит дело, представление имеет более высокую четкость, чем когда оно "забыто" и заново "вспомнено".