Средства разработки приложений


Полное содержание книги "Наука отладки" - часть 3


Наладка приложений различных типов
  • Маломасштабные самостоятельные приложения
    • Будьте пользователем системы
    • Создавайте копию окружения
    • Берегитесь дьявольских DLL
    • Ошибки ввода и вывода
  • Самостоятельные приложения среднего размера
  • Приложения архитектуры клиент/сервер среднего размера
    • Создайте копию базы данных для тестирования
    • Сохраняйте данные об использовании, чтобы можно было видеть, какие свойства используются наиболее часто
  • Крупномасштабные приложения
    • Встройте черный ход для тестирования
    • Следите за изменением внешней информации
  • Системы реального времени
    • Будьте осторожны при добавлении команд наладки
    • Следите за конфликтами между программным или аппаратным обеспечением
    • Проблемы синхронизации
  • Встроенная система
    • Проблемы имитаторов
    • Запрет прерываний
    • Ошибки протокола
    • Сторожевые таймеры
    • Наладка встроенных систем
  • Распределенные системы
    • Ошибки промежуточного программного обеспечения
    • Детерминистические ошибки
    • Ошибки связи
    • Ошибки безопасности
    • Хранилища информации
    • Анализ протоколов postmortem
  • Имитированные системы
    • Инкапсулируйте аппаратный интерфейс
    • Инкапсулируйте имитированные вызовы для обеспечения возврата ошибок
    • Сузьте проблему до ее простейшей формы в реальной системе и эмуляторе
  • Заключение
  • Задача
  • Глава 11. Постналадка
    • Делал ли я такую же ошибку где-то еще?
    • Что скрывается за этой ошибкой?
    • Как я могу предотвратить эту ошибку?
      • Поймите причину
      • Сохраняйте тесты для будущих версий
      • Используйте ошибки при будущем планировании
    • Как я могу сделать этот тип ошибок более легким для обнаружения
      • Создание инструментов
      • Документируйте ошибку
        • Проводите обновление существующей документации
        • Документирование того, почему ошибка произошла
        • Документирование того, как ошибка была обнаружена
      • Оставляйте наладочные вспомогательные средства
    • Становлюсь ли я лучше?
      • Метрика ошибок
      • Слежение за ошибками
      • Что делать с этими данными?
    • Заключение
    • Задача
  • Глава 12. Предналадка
    • Что такое предналадка?
      • Предналадочный настрой
        • Будьте параноиком
        • Не имейте самомнения
    • Общие методы
      • Люди в предналадке
        • Нанимайте правильных людей
        • Поддерживайте непрерывность
        • Набирайте резерв
        • Нанимайте правильных людей для среды
        • Изменяйте правила игры или меняйте игроков
        • Эволюция, а не революция
      • Причинный анализ дефектов
        • Систематические ошибки
        • Идентификация систематических ошибок
        • Персональный причинный анализ дефектов
      • Обнаружение дефектов
        • Инспектирование
        • Как не проводят инспектирование
        • Как проводить инспектирование
        • Что нужно инспектировать?
        • Методы инспектирования
        • Альтернативы формальной инспекции
        • Инспектирование своей собственной работы
        • Гомогенное и гетерогенное сдвоенное инспектирование
        • Взаимоотношения производитель-потребитель
        • Опасность инспектирования
      • Повторное использование
        • Сопротивление повторному использованию
        • Повторное использование без модификаций
        • Повторно используемые компоненты
        • Повторное использование на ранних стадиях процесса разработки программного обеспечения
        • Цена повторного использования
        • Разработка компонентов с возможностью повторного использования
        • Делайте компоненты с возможностью повторного использования простыми
        • Поощряйте повторное использование
        • Опасности повторного использования
      • Уменьшайте сложность и управляйте ею
        • Имейте технологический процесс
        • Не усложняйте проблему
        • Делите информацию на порции правильно
        • Скажите "нет" расползанию функциональности
        • Не размахивайте руками
      • Документация в реальном мире
        • Отдельные роли дизайнеров и программистов
        • Создавайте обзоры
        • Используйте изображения
        • Стиль документации "Часто задаваемые вопросы"
        • История проекта
        • Самодокументирующийся код
        • Тестовые программы
      • Встроенная инфраструктурная поддержка
        • Снимки
        • Трассировка файлов протокола
        • Имейте среду для воспроизведения ошибок
    • Предналадка требований
      • Поймите проблему
        • Задействуйте архитекторов и дизайнеров на ранних стадиях анализа требований
        • Итеративные методологии
        • Создание прототипа
        • Альтернативы в требованиях
      • Создание правильных требований
        • Стандартные советы
        • Привлекайте персонал тестирования
        • Одновременно работайте над планом тестирования
    • Предналадка в планировании
      • Различные альтернативы дизайна содержат разные типы ошибок
        • Опасность при сортировке
        • Опасность обработки
        • Опасность рекурсии
        • Опасность объектно-ориентированного дизайна
      • Разработка интерфейсов
        • Разработка модулей
        • Ограничивайте гибкость
        • Минимизируйте двусмысленность интерфейса
      • Разработка самодокументирующегося кода
    • Предналадка в реализации
      • Понимайте инструменты
        • Понимайте язык и стоящие за ним принципы
        • Шефство
      • Оборонительное программирование
        • Вред операторов assert
        • Комбинация явной проверки ошибок с трассировочным протоколом
        • Дайте компилятору помочь во всем, в чем он может помочь
      • Альтернативы реализации
        • Избегайте малоизвестных свойств языка
        • Проблемы с указателями
      • Тестируйте на ходу
        • Тестирование на ходу сверху вниз и снизу вверх
        • Не игнорируйте ошибки
    • Заключение
    • Задача
  • Глава 13.


    Начало  Назад  Вперед



    Книжный магазин