Здравствуйте, FDSC, Вы писали:
K>>>> Класс вовсе не обязан быть функциональной единицей, требующей единовременного полного понимания.
FDS>Если класс не есть цельная функциональная единица, то его, скорее всего, можно разбить на несколько других классов или подклассов — тем самым облегчить понимание программы.
Методы OOD очень сильно далеки собственно от деталей реализации. А раз уж OOD повелел делать эту сущность одним классом — будет она одним классом. Состоящим из нескольких функциональных единиц, не выделяемых в рамках ОО-таксономии.
FDS>Я считаю, что ООП предоставляет класс именно как единицу, которая упрощает понимание логики и должна быть понятна без особых проблем.
Такого свойства ООП не имеет by design.
FDS> Проще говоря — класс, элемент, декомпозирующий систему, и если он не понятен, то его нужно декомпозировать до тех пор, пока он станет понятным целиком.
Понятность реализации никоим образом не прописывается в методиках объектной декомпозиции.
FDS>1. Это не мои 1000 строк. У меня — 700
Тоже много.
FDS>2. Они обоснованы:
FDS>2.1. Чем меньше код, тем меньше сущностей.
Это не так.
FDS>2.2. По маленькому файлу легче перемещаться и находить в нём нужные методы
Кто бы спорил. Только зачем привязывать файл к классу?
FDS>2.3. Т.е. прокруткой при чтении пользоватся не рекомендуется: вдруг глюки будут
Так я и говорю — одна функциональная единица = одна страница.
FDS>Вообще, то, что метод должен помещатся на экран — это полная и ничем не обоснованная чушь.
А метод, к вашему сведению, это тоже не обязательно функциональная единица.
FDS> Видел большие, но очень простые для понимания и написания методы и маленькие, понятьь которые можно только после подробного изучения пары тыс. строк кода
И что? Это нерелевантно обсуждаемой теме.
K>> Как вы добьётесь этого — не важно, если язык не позволяет — меняйте язык, используйте умные и правильные системы форматирования кода (такие, как noweb).
FDS>Не понял — что значит "умные и правильные системы форматирование кода"?
Я же название дал. Сходите гуглём за ним. Вот ещё: web, fweb, cweb, literate haskell, ...