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

Сообщение Re[11]: Изучение Си после C++? от 26.07.2019 8:37

Изменено 26.07.2019 8:41 rg45

Re[11]: Изучение Си после C++?
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>А я бы с удовольствием посмотрел на неговнокод. Так сказать, с целью расширения кругозора.

SVZ>В идеале — на приведенный выше код, написанный в правильном стиле.

Этим я заниматься не стану, конечно, но общие принципы выражу:

1) Выполнить декомпозицию и структрурирование кода в соответствии с принципом "одна функция — одна задача";
2) Убрать из кода "магические" константы;
3) Дать всем фунциям и, по возможности, переменным понятные имена.

Да, в области математики, дать вменяемые имена локальным переменным не всегда удается — просто потому, что они чисто исторически обозначаются буквами. Но здесь главную роль должна сыграть декомпозиция кода и сокращение размеров тел функций. В моем коде вы не встретите функции, которая бы не умещалась на одном экране.

При переходе к C++

1) Систематическое использование модификаторов const;
2) Объявление переменных как можно ближе к месту их использования (это, опять же, к вопросу о легкости восприятия имен переменных).
Re[11]: Изучение Си после C++?
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>А я бы с удовольствием посмотрел на неговнокод. Так сказать, с целью расширения кругозора.

SVZ>В идеале — на приведенный выше код, написанный в правильном стиле.

Этим я заниматься не стану, конечно, но общие принципы выражу:

1) Выполнить декомпозицию и структрурирование кода в соответствии с принципом "одна функция — одна задача";
2) Убрать из кода "магические" константы;
3) Дать всем фунциям и, по возможности, переменным понятные имена.

Да, в области математики, дать вменяемые имена локальным переменным не всегда удается — просто потому, что они чисто исторически обозначаются буквами. Но здесь главную роль должна сыграть декомпозиция кода и сокращение размеров тел функций. В моем коде вы не встретите функции, которая бы не умещалась на одном экране.

При переходе к C++

1) Систематическое использование модификаторов const;
2) Объявление переменных как можно ближе к месту их использования (это, опять же, к вопросу о легкости восприятия имен переменных);
3) Замены (там где это оправдано) монолитных больших функций, классами вычислителями, использующими общий общий набор закрытых переменных, но декомпозированных на более простые функции.