Skip to main content

Конференции

Просмотр конференции fido7.pushkin.local:

Предыдущее Следующее

Дата: 20 Apr 2020, 13:53:45
От: alexander koryagin <yalexko@yandex.ru>
Кому: Gennadij Pastuhov
Тема: О свободном софте



Hi, Gennadij Pastuhov!
I read your message from 20.04.2020 01:08

 ak>> запутаются. А для слишком талантливых программистов особый порядок
 ak>> не нужен - им и так все ясно, даже где остальные сломают ноги и
 ak>> руки.

 GP> Мне лет 10 назад так вправил мозги тогдашний заказчик-начальник (я
 GP> как бы у него числился, но работал удалённо и проектно). В одной из
 GP> софтин я написал подпрограмму, которая принимала штук 10
 GP> параметров, пережёвывала их и что-то потом дальше делала. И мне
 GP> нужна была аналогичная, но в одном случае работавшая чуть иначе. Я
 GP> добавил ещё параметр и условие в её тело. И этот начальник сказал
 GP> работу передалать, потому что: - это сейчас понятно, что это за
 GP> параметр и зачем он и как им пользоваться, но не факт, что через
 GP> год об этом будут помнить - эти две ветки выполнения будет
 GP> совершенно различными и лучше написать 2 независимых куска кода,
 GP> чтобы возможные изменения в одном никак не повлияли на второй -
 GP> совершенно насрать на размер кода, пусть хоть в 10 раз он будет
 GP> больше, если это уменьшит связность частей программы и повысит
 GP> надёжность её работы

 GP> Т. е., говорил он, скорее всего, что-то другое, но смысл был такой.
 GP> В-общем, сейчас я стараюсь именно так всё и писать и это избавляет
 GP> от процентов 80-90 самых хитрых ошибок.

Мне кажется, что функции со слишком большим числом параметров как-то не
очень. В конце концов можно сгруппировать переменные во входную структуру.
Если без структуры, то перед важной функцией можно комментировать
назначение входных параметров и что возвращается.
Но в общем IMHO правильно, что сование всего в одну функцию не должно
быть самоцелью, тем более что правильные названия мелких функций
привносят ясность в код.

Bye, Gennadij!
Alexander Koryagin
fido7.pushkin.local 2020 


Предыдущее Следующее

К списку сообщений
К списку конференций