Re[11]: Изучение Си после C++?
От: rg45 СССР  
Дата: 26.07.19 08:37
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

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

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

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

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

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

  Вот такое — ни в одни ворота
    double result;
    double a;
    double b;
    double c;
    double p;
    double q;
    double u;
    double w;
    double z;
    int i;
    double logpi;
    double ls2pi;
    double tmp;



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

1) Систематическое использование модификаторов const;
2) Объявление переменных как можно ближе к месту их использования (это, опять же, к вопросу о легкости восприятия имен переменных);
3) Замены (там где это оправдано) монолитных больших функций, классами вычислителями, использующими общий общий набор закрытых переменных, но декомпозированных на более простые функции.
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 26.07.2019 9:05 rg45 . Предыдущая версия . Еще …
Отредактировано 26.07.2019 8:58 rg45 . Предыдущая версия .
Отредактировано 26.07.2019 8:54 rg45 . Предыдущая версия .
Отредактировано 26.07.2019 8:41 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.