Upgrade to Pro — share decks privately, control downloads, hide ads and more …

№ 11. Отладка

№ 11. Отладка

1. Основные принципы отладки программ.

B1196c22fd3ca181eec43e1b67823d3f?s=128

ОПК

May 24, 2021
Tweet

Transcript

  1. ОСНОВЫ ПРОГРАММНОГО КОНСТРУИРОВАНИЯ Лекция № 1 1 24 мая 2021

    г. 2, 4, 6! https://ru.wikipedia.org/wiki/ Склонность_к_подтверждению_своей_точки_зрения
  2. ОТЛАДКА Эксперимент. Профессиональных программистов попросили отладить программу с 12 дефектами.

    Трое лучших Трое худших Среднее время отладки (мин) 5 14,1 Среднее число не обнаруж. дефектов 0,7 1,7 Среднее число новых дефектов 3 7,7 Самый лучший: нашел всё, ничего не поломал. 
 Самый худший: не нашел 4, внес 11 новых дефектов.
  3. НАУЧНЫЙ МЕТОД ОТЛАДКИ (!) • Стабилизация ошибки . • Определение

    источника ошибки . • Сбор данных, приводящих к дефекту . • Анализ собранных данных, формулирование гипотезы . • Как можно подтвердить или опровергнуть гипотезу ? • Подтверждение или опровержение . • Исправление дефекта . • Тестирование исправления . • Поиск и устранение похожих ошибок.
  4. СТАБИЛИЗАЦИЯ ОШИБКИ • Задача: построить самый простой тест, который будет

    проявлять ошибки в 100% случаев . • Минимальный размер структуры данных . • Желательно отказаться от ввода данных пользователем. 

  5. ГИПОТЕЗЫ • Сбор данных и формулирование гипотезы: • Отладочная печать

    . • УчасткиКодаКоторыеМенялисьСовсемНедавно ! • Частые проблемы : • «Плюс один» и «минус один» (индексы и размеры массивов) . • Проверка гипотез. • Найти другой тест, который не должен падать.
  6. ХОРОШИЙ ПРОЕКТ • Функциональность (решение заявленной задачи) . • Отсутствие

    ошибок, устойчивость . • Понятный интерфейс, наличие документации . • Качество кода : • Функции и модули . • Отсутствие copy-paste . • Отступы и т. д . • Наличие тестов.
  7. ДИФ. ЗАЧЕТ • Дата: 31 мая (план Б: 1 июня)

    23 июня . • Теоретическая часть: блиц-опрос по программе лекций . • Методичка: bit.ly/1jNb0ac . • Практическая часть: демонстрация вашего проекта. Экзамен для меня всегда праздник, профессор!
  8. КОНЕЦ ПОСЛЕДНЕЙ ЛЕКЦИИ 
 ВЕСЕННЕГО СЕМЕСТРА