Шесть советов по написанию более понятного программного кода
хотя может уже кто читал ...
Шесть советов по написанию более понятного программно
Модератор: Модераторы
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
Так-то оно так, но я в последнее время прихожу к мнению, что код бывает либо красивым и понятным, либо рабочим и полезным
Но все равно нужно стремиться к понятности, только не перегибать палку
Я бы не стал "ругать" новичков за такие комментарии -- такой подход по крайней прививает привычку писать комметарии (тем более что полного новичка и такая конструкция может ставить в тупик и заставить лезть в учебник и читать пропущенную теорию). Как только человек выйдет из разряда "новичок", он перестанет писать такие очевидные комментарии.
Но все равно нужно стремиться к понятности, только не перегибать палку
И, наконец, не следует писать глупых комментариев. Когда человек впервые приступает к написанию комментариев, он часто выпендривается и пишет что-либо вроде:Код: Выделить всё
// Теперь мы увеличиваем значение Number_aliens_on_screen на единицу.
Number_aliens_on_screen = Number_aliens_on_screen + 1;
Я бы не стал "ругать" новичков за такие комментарии -- такой подход по крайней прививает привычку писать комметарии (тем более что полного новичка и такая конструкция может ставить в тупик и заставить лезть в учебник и читать пропущенную теорию). Как только человек выйдет из разряда "новичок", он перестанет писать такие очевидные комментарии.
И, наконец, не следует писать глупых комментариев. Когда человек впервые приступает к написанию комментариев, он часто выпендривается и пишет что-либо вроде:Код: Выделить всё
// Теперь мы увеличиваем значение Number_aliens_on_screen на единицу.
Number_aliens_on_screen = Number_aliens_on_screen + 1;
Похоже автору этих строк не приходилось писать курсовые студентам
Код: Выделить всё
Void change_score(short num_points)
{
if (num_points < 0)
{
// Возможно появления сообщения о какой-либо ошибке
return;
}
score += num_points;
if (num_points > 0)
make_sparkles_on_score();
}Гы, при количестве очков большем 32767 очки уйдут в минус и вылетит сообщение об ошибке, а всё потому что используется short вместо unsigned short, который и надо было использовать для подсчёта очков.
сли ваш код на C требует понимания тонких различий между выражениями i++ и ++i, то он слишком сложен.
... но по какой-то причине работает быстрее, чем понятный код раза в два-три =)
