Re[4]: Можно парочку дерзких вопросов?
От: FDSC Россия consp11.github.io блог
Дата: 29.03.07 18:19
Оценка: +1
Здравствуйте, bkat, Вы писали:

B>Здравствуйте, FDSC, Вы писали:



IT>>>4. Настоящие индейцы не боятся длинных линейных методов, они не любят запутанных ветвистых уродцев, в которых легко прятаться багам.


FDS>>Вот с этого начнём, точнее закончим. Не согласен


FDS>>Где прятаться багам, если методы до отупения просты? Представьте себе, у вас все методы из 3-5 строк. Ну 10 максимум, обычно.


B>У тебя никогда не было такого, что каждый отдельный метод на 3-5 строк делает

B>вроде все правильно, а вот в совокупности получается фигня?

Было. Это значит, что ты не понимаешь алгоритм расчётов или в одном из методов всё-таки допустил ошибку по невнимательности. Но точно такие же ошибки у меня получились бы и при использовании больших методов. Я просто специально статистику вёл в нескольких программах: ошибок стало меньше, а программировать стало субъективно (и объективно) проще.

Плюс, это может быть, если ты неправильно называешь методы: т.е. метод делает не то, что написано в его названии, или не только то. Короче говоря, тут уже вопрос не в твоей внимательности, а в твоей логике. Лично мне гораздо проще соблюдать логичность кода, чем держать в фокусе внимания большие куски кода. Плюс, отпадает необходимость программирования с использованием псевдокода: названия методов и есть этот псевдокод, остаётся только самый минимум комментариев.
Мелкие методы, к тому же, не дают сделать многих ошибок от усталости. У меня было раньше такое, что я невыспавшись писал код, разные части которого (сейчас — разные методы) просто перекрывались, совершенно случайно . Например, часть следующего действия попадала в цикл из предыдущего действия

Что касается большого количества "странствующих" по методам параметров (не помню, как они по человечески называются), то Delphi и Nemerle позволяют писать вложенные функции и кол-во этих параметров уменьшается до 0. На C++/C# всё, конечно, хуже.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.