- Предисловие
- Введение
- 1. Понятие качества программного обеспечения
-
2.
Критерии качества программного обеспечения
- 2.1. Внешние факторы качества
- 2.2. Внутренние факторы качества
- 2.3. Оптимизация исходного кода
- 2.4. Универсальность исходного кода.
- 2.5. Дублирование кода
- 2.6. «Дырявые» абстракции
- 2.7. Локализация ошибок при модификации кода
- 2.8. Минимизация изменений в коде
- 2.9. Опасная перегрузк
- 2.10. Зависимости между методами
- 2.11. Недостаточная инициализация
- 2.12. Неизменяемость
- 2.13. Возврат нулевой ссылки
- 2.14. Единство дизайна
- 2.15. Качество кода
- 2.16. Идиомы языка программирования
- 2.17. Документация
- 2.18. Метафоры
- 2.19. Растущие сложные системы
- 2.20. Метрики
- 2.21. Модульность
- 2.22. Повторное использование
- 2.23. Инкапсуляция
- 2.24. Зависимости между модулями
- 3. Тестирование и отладка приложений для Windows Store
- 4. Стратегии и методы тестирования
- 5. Написание безопасного кода
- 6. Хранилище XML и проверка данных
- Думайте как враг
- Заключение
- Список литературы
2.7. Локализация ошибок при модификации кода
Внося изменения в код, в него потенциально вносятся ошибки. От этого трудно уберечься, но можно постараться сделать так, чтобы эти ошибки можно было легко обнаружить и исправить.
Для этого необходимо выполнение одного условия: ошибки должны появляться там, где модифицировался код, а не где-то еще.
То, что только что написали, легко перечитать, проанализировать, протестировать. Можно проверить работоспособность тех частей системы, которые используют измененный код.
Все обстоит гораздо хуже, если, изменив что-то здесь, необходимо подправить что-то там, потом тут, и еще вот здесь. В этом случае модификации расползаются по системе – и становится крайне проблематично, как перечитать то, что написано, так и понять, на что это повлияет.
Вывод: необходимо стараться писать код так, чтобы его модификация затрагивала как можно меньше другого кода.