Здравствуйте, Kolhoz, Вы писали:
K>Здравствуйте, FDSC, Вы писали:
K>>> Класс вовсе не обязан быть функциональной единицей, требующей единовременного полного понимания.
Если класс не есть цельная функциональная единица, то его, скорее всего, можно разбить на несколько других классов или подклассов — тем самым облегчить понимание программы.
Я считаю, что ООП предоставляет класс именно как единицу, которая упрощает понимание логики и должна быть понятна без особых проблем. Проще говоря — класс, элемент, декомпозирующий систему, и если он не понятен, то его нужно декомпозировать до тех пор, пока он станет понятным целиком.
Если речь идёт об изменении класса — то нет, если речь идёт об использовании хорошо написанного класса — то да, да и ещё раз да!
FDS>> И вообще, понимать что и как работает — это роскошь
K> У человечишки в ущербненьком и убогоньком мозгу помещается одновременно около 7 сущностей. Больше — с трудом, а трудиться зря — не стоит, головка будет бо-бо.
K> Соотвественно, функциональные единицы кода должны состоять из максимум семи сущностей одного уровня абстракции. Дальнейшее детальное разбиение должно подчиняться тому же правилу. Тогда только и будет возможность быстро и легко
K>понимать, что и как работает.
K> И, кстати: функциональная единица должна помещаться на один экран. Читаться сразу и целиком. Это основное требование. А эти ваши 1000 строк — чушь, ничем не обоснованная.
1. Это не мои 1000 строк. У меня — 700

2. Они обоснованы:
2.1. Чем меньше код, тем меньше сущностей.
2.2. По маленькому файлу легче перемещаться и находить в нём нужные методы
2.3. Т.е. прокруткой при чтении пользоватся не рекомендуется: вдруг глюки будут
Вообще, то, что метод должен помещатся на экран — это полная и ничем не обоснованная чушь. Видел большие, но очень простые для понимания и написания методы и маленькие, понятьь которые можно только после подробного изучения пары тыс. строк кода
K> Как вы добьётесь этого — не важно, если язык не позволяет — меняйте язык, используйте умные и правильные системы форматирования кода (такие, как noweb).
Не понял — что значит "умные и правильные системы форматирование кода"?