- •. Отладка компьютерных программ
- •Отладка программ
- •Метод поиска дефекта, основанный на научном методе
- •Инструменты отладки программ
- •Утилиты сравнения исходного кода (diff)
- •Утилиты сравнения исходного кода (diff) (пример)
- •Утилиты сравнения исходного кода (diff) (пример)
- •Системы управления версиями
- •Типичный порядок работы с системой управления версиями
- •Существующие системы управлениями версиями
- •Хостинг систем управления версиями
- •Компилятор
- •Процесс преобразования исходных кодов в машинные кода из исходного
- •Советы по устранению синтаксических ошибок
- •Советы по устранению синтаксических ошибок
- •Советы по устранению синтаксических ошибок
- •Советы по устранению синтаксических ошибок
- •Советы по устранению
- •Советы по устранению синтаксических
- •Советы по устранению синтаксических ошибок
- •Отладка с помощью отладочных сообщений
- •Использование отладочных сообщений
- •Технические аспекты, связанные с отладочными сообщениями
- •Программные отладчики
- •Программные отладчики (2)
- •В защиту программных отладчиков
- •Стандарт оформления кода (Code convention)
- •Существующие стандарты оформления кода на языке Си
- •Соглашение об оформлении кода на языке Си
- •Отступы (http://en.wikipedia.org/wiki/Indent_style)
- •Отступы (правила использования)
- •Отступы
- •Расположение фигурных скобок (http://en.wikipedia.org/wiki/Indent_style)
- •Расположение фигурных скобок (Исключение 1)
- •Расположение фигурных скобок (Исключение 2)
- •Имена переменных
- •Комментарии
Отступы (правила использования)
•Для формирования отступов используется табуляция (клавиша Tab)
•Каждый новый блок операторов {…} увеличивает количество отступов на один:
for ( i=0 ; i < 10; i++ ){
x = i*i;
if( x > 10 ){
z = z + 1;
...
}
y = x – 1;
}
31
Отступы
(пример)
int main()
{
...
while (x < y) {
x *= 2;
f = func(x);
if (f > 0){
count++;
printf("f(%d) = %f\n", x, f);
} else
count--;
}
printf("count=%d\n", count);
...
}
32
Расположение фигурных скобок (http://en.wikipedia.org/wiki/Indent_style)
•Открывающаяся фигурная скобка располагается на одной строке с циклическим оператором или оператором ветвления. Закрывающаяся – на новой строке:
for ( i=0 ; i < 10; i++ ){
...
}
33
Расположение фигурных скобок (Исключение 1)
•Для функций открывающаяся фигурная скобка располагается на новой строке:
int main()
{
...
}
34
Расположение фигурных скобок (Исключение 2)
•Для циклов с постусловием и для конструкции ветвления с оператором else закрывающаяся фигурная скобка располагается не в новой строке:
if( условие ){...
} else
do {
...
} while( условие );
35
Имена переменных
•Имена переменных должны отражать их предназначение
•Длина имени переменной должна быть не более 15-20 символов для сохранения читабельности кода.
•Для переменных со сложным именем предпочтительным является вариант
first_left_counter, а не FirstLeftCounter.
•Для счетчиков в циклах допускается применять простые имена, например i, j.
36
Комментарии
•Комментарии являются признаком хорошего тона при написании программ. Однако существует опасность создания слишком подробных комментариев. Поэтому желательно придерживаться следующих правил:
–не следует объяснять КАК работает код, необходимо пояснить ЧТО (какую функцию) он должен делать;
–аккуратно написанный код говорит сам за себя, с другой стороны не стоит тратить время на то чтобы объяснить плохо написанный код;
37