Информация об изменениях

Сообщение Re[4]: Как можно было так протупить с const параметрами? от 21.08.2022 23:06

Изменено 21.08.2022 23:10 vsb

Re[4]: Как можно было так протупить с const параметрами?
Здравствуйте, Marty, Вы писали:

vsb>>Это просто плохо написанный код. В нормально написанном коде параметры не изменяются, если надо изменять — заводится отдельная локальная переменная. Дефолтный const утомил бы только плохих программистов.


M>Аргументировать будешь?


Я не знаю, как это аргументировать. Можешь считать это моим наблюдением, что хороший код пишется в стиле, в котором переменные не меняются. А плохой код пишется в стиле, в котором переменные постоянно меняются. Это чем-то похоже на использование goto. В плохом коде goto используется, в хорошем коде goto используется, ну разве что в C для очистки ресурсов, за неимением лучшего.

Я так скажу. Чем больше изменяемых переменных, тем сложней понимать этот код. Поэтому изменяемых переменных должно быть как можно меньше. Делать хаскель из С я не предлагаю, во всём должна быть мера.
Re[4]: Как можно было так протупить с const параметрами?
Здравствуйте, Marty, Вы писали:

vsb>>Это просто плохо написанный код. В нормально написанном коде параметры не изменяются, если надо изменять — заводится отдельная локальная переменная. Дефолтный const утомил бы только плохих программистов.


M>Аргументировать будешь?


Я не знаю, как это аргументировать. Можешь считать это моим наблюдением, что хороший код пишется в стиле, в котором переменные не меняются. А плохой код пишется в стиле, в котором переменные постоянно меняются. Это чем-то похоже на использование goto. В плохом коде goto используется, в хорошем коде goto используется, ну разве что в C для очистки ресурсов, за неимением лучшего.

Я так скажу. Чем больше изменяемых переменных, тем сложней понимать этот код. Поэтому изменяемых переменных должно быть как можно меньше. Делать хаскель из С я не предлагаю, во всём должна быть мера. Но неизменяемых переменных должно быть больше, чем изменяемых. И внимание читателя должно быть обращено именно на изменяемые переменные. Поэтому концепция "const по умолчанию" является правильной.