Приложение. Свод правил.
Каждая открытая мной истина становилась правилом, которое служило мне в дальнейшем для поиска других истин.
Рене Декарт
Рассуждение о методе
Во многих главах были выделены правила или какие-то основные моменты, подводящие итог обсуждению. Для удобства поиска правила собраны здесь воедино. Не забывайте, что в соответствующих частях книги объясняется назначение и способы применения этих правил.
Стиль
- Используйте осмысленные имена для глобальных переменных и короткие – для локальных.
- Будьте последовательны.
- Используйте активные имена для функций.
- Будьте точны.
- Форматируйте код, подчеркивая его структуру.
- Используйте естественную форму выражений.
- Используйте скобки для устранения неясностей.
- Разбивайте сложные выражения.
- Будьте проще.
- Будьте осторожны с побочными эффектами.
- Будьте последовательны в применении отступов и фигурных скобок.
- Используйте идиомы для единства стиля.
- Используйте else-if для многовариантных ветвлений.
- Избегайте макрофункций.
- Заключайте тело макроса и аргументы в скобки.
- Давайте имена загадочным числам.
- Определяйте числа как константы, а не как макросы.
- Используйте символьные константы, а не целые.
- Используйте средства языка для определения размера объекта.
- Не пишите об очевидном.
- Комментируйте функции и глобальные данные.
- Не комментируйте плохой код, а перепишите его.
- Не противоречьте коду.
- Вносите ясность, а не сумятицу.
Интерфейсы
- Прячьте детали реализации.
- Ограничьтесь небольшим набором независимых примитивов.
- Не делайте ничего "за спиной" у пользователя.
- Всегда делайте одинаковое одинаково.
- Высвобождайте ресурсы на том же уровне, где выделяли их.
- Обнаруживайте ошибки на низком уровне, обрабатывайте на высоком.
- Используйте исключения только для исключительных ситуаций.
Отладка
- Ищите знакомые ситуации.
- Проверьте самое последнее изменение.
- Не повторяйте дважды одну и ту же ошибку.
- Не откладывайте отладку на потом.
- Пользуйтесь стеком вызова.
- Читайте код перед тем, как исправлять.
- Объясните свой код кому-либо еще.
- Сделайте ошибку воспроизводимой.
- Разделяй и властвуй.
- Изучайте нумерологию ошибок.
- Выводите информацию, локализующую место ошибки.
- Пишите код с самоконтролем.
- Ведите журнальный файл.
- Постройте график.
- Используйте инструменты.
- Ведите записи.