Иллюстрированный самоучитель по практике программирования

Приложение. Свод правил.

Тестирование

  • Тестируйте граничные условия кода.
  • Тестируйте пред- и постусловия.
  • Используйте утверждения.
  • Используйте подход защитного программирования.
  • Проверяйте коды возврата функций.
  • Тестируйте по возрастающей.
  • Тестируйте сначала простые блоки.
  • Четко определите, чего вы ожидаете на выходе теста.
  • Проверяйте свойства сохранности данных.
  • Сравните независимые версии.
  • Оценивайте охват тестов.
  • Автоматизируйте возвратное тестирование.
  • Создавайте замкнутые тесты.

Производительность

  • Автоматизируйте замеры времени.
  • Используйте профилировщик.
  • Концентрируйтесь на критических местах.
  • Постройте график.
  • Улучшайте алгоритм и структуру данных.
  • Используйте оптимизацию компилятора.
  • Выполните тонкую настройку кода.
  • Не оптимизируйте то, что не имеет значения.
  • Объединяйте общие выражения.
  • Замените дорогостоящие операции на более дешевые.
  • Избавьтесь от циклов или упростите их.
  • Кэшируйте часто используемые значения.
  • Напишите специальную функцию захвата памяти (аллокатор).
  • Буферизуйте ввод и вывод.
  • Специальные случаи обрабатывайте отдельно.
  • Используйте предварительное вычисление результатов.
  • Используйте приближенные значения.
  • Перепишите код на языке более низкого уровня.
  • Используйте минимально возможный тип данных.
  • Не храните то, что можете без труда вычислить.

Переносимость

  • Придерживайтесь стандарта.
  • Следуйте основному руслу.
  • Избегайте неоднозначных конструкций языка.
  • Попробуйте несколько компиляторов.
  • Используйте стандартные библиотеки.
  • Используйте только то, что доступно везде.
  • Избегайте условной компиляции.
  • Выносите системные различия в отдельные файлы.
  • Прячьте системные различия за интерфейсами.
  • Используйте текст для обмена данными.
  • Используйте при обмене данными фиксированный порядок байтов.
  • При изменении спецификации изменяйте и имя.
  • Поддерживайте совместимость с существующими программами и данными.
  • Не рассчитывайте на ASCII.
  • Не ориентируйтесь только на английский язык.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.