Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

polevoi_cpp_2013_spring_lecture_04

.pdf
Скачиваний:
7
Добавлен:
20.04.2015
Размер:
134 Кб
Скачать
☆

Контракты в исходном коде

•д.б. описаны в комментариях

•для проверки assert(условие)

пример:

#include <cassert>

int findBest(const Data* pData)

{

/// если false, завершить работу программы assert(0 != pData);

// основной код

}

23.03.2013

41

Тесты

•вспомогательный код

•проверят и/или демонстрирует правильную работу функционала

•не требует « участия человека»

•следует за изменениями основного кода

•часто автоматизируется

23.03.2013

42

Трассировка

•вывод информации о состоянии

•встроенный вспомогательный код

•целевые

–консоль

–файл

–сетевое соединение и т.д.

•“ управляемое” использование

23.03.2013

43

Отладчик (debuger)

•специальная программа

•контроль (наблюдение и возможность изменения) состояния

•управляемое исполнение кода (пошаговое, между точками останова)

23.03.2013

44

Отладочная и продуктовая версия

•Debug

–сдержит отладочную информацию

–“больше” и “медленнее”

•Release

–скомпилирована с необходимой оптимизацией

23.03.2013

45

Именование переменных

•“ говорящие” имена

•разумная длинна идентификатора

•длинна и содержательность имени зависит от области видимости

23.03.2013

46

Венгерская нотация

•не использовать

•стандартизованный и зависящий от типа переменной префикс

•распространен в среде Win32 разработчиков

пример:

DWORD dwFlags(0); //< плохо

23.03.2013

47

Соглашения об именовании

•рекомендуется использовать групповые соглашения

•семантические префиксы/суффиксы

•парность идентификаторов функций

23.03.2013

48

Соглашения о префиксах

•p – указатель

•m_ - член структуры

•n – число объектов

•i – порядковый номер

23.03.2013

49