Длина функций


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

Был такой умный чел, психолог Джордж Миллер. Он экспериментально доказал, что мозг человека может успешно справляться одновременно максимум с 7±2 отдельных объектов, причём только ценой сильного напряжения. Комфортное же значение находится в районе 3-4.

Поэтому я стараюсь, чтобы в каждой моей отдельно взятой функции выполнялась работа именно с таким количеством сущностей-объектов — в районе 3-4, но уж никак не больше 9.

Нетрудно догадаться, что количество сущностей примерно соответствует количеству переменных (включая параметры), хоть и не один к одному.

Разумеется, массив объектов будет соответствовать одной сущности, пока мы не начнём обращаться к его элементам. Каждая причина обращения к элементу массива — это отдельная сущность. Например, первый и последний элементы, максимальный и минимальный (если мы их задействовали в алгоритме) — это отдельные сущности, а все остальные, которые мы не учитываем в алгоритме — они и не считаются.

То же самое с объектами. Весь объект целиком, когда мы с ним работаем целиком — сущность. Как только мы начинаем работать с его отдельными полями, повяляются новые отдельные сущности.


А ты знал, что у самых умных обезьян предельное число Миллера равно четырём?