Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Имена объектов программы должны быть осмысленными.

Поиск

Пример.

tip razmer adress

Hе надо!

xx aa a1 a2

В настоящее время во всем мире приняты 2 системы записи (нотации) имен: "паскалевская" и "венгерская". Обе рекомендуют использовать имена, состоящие, в общем случае, из нескольких слов. В "паскалевской" нотации каждое слово начинают с прописной буквы.

Пример.

BegKm EndKm FieldName

В "венгерской" нотации перед именем записывается тип объекта программы.

Пример.

intBegKm intEndKm charFieldName

Не используйте в программе сходные имена!

Пример.

value values

ax1 axi

k K

Если имя содержит цифры, записывайте их в конце.

Пример.

fund1 Tab15

Имя не должно совпадать с ключевым словом (для языков, где ключевые слова не резервируются) или с именем библиотечной или встроенной функции.

В языках Basic и С ключевые слова зарезервированы, т.е. при подобном совпадении транслятор выдает ошибку. Однако в некоторых языках допустимы такие конструкции.

Пример. PL/1.

if if = then then

then = else;

Else

else = if;

Язык и приемы программирования

Активно используйте удобные и понятные особенности языка.

Пример.

a=b=0; k++; x+=c; //Многократное присваивание – это удобно!

Basicà x=5: y=x^3-2 '2-3 связанные короткие инструкции в 1 строку

Изучайте и используйте библиотечные функции. Малоупотребительные комментируйте.

Пример.

/* pow (x,n) – возведение x в степень n */


3. Не применяйте трюки!

Пример. Формирование единичной матрицы.

for (k=0; k<n; k++){

for (m=0; m<n; m++){

x[k][m]=((k+1)/(m+1))*((m+1)/(k+1)); // Это трюк!

}

}

То же самое можно записать так.

for (k=0; k<n; k++){

for (m=0; m<n; m++){

x[k][m]=0;

}

x[k][k]=1;

}

4. Не игнорируйте предупреждения и старайтесь их ликвидировать!

Предупреждение при трансляции в большинстве случаев указывает место возможной ошибки.

Conversion may lose signicant digits à При преобразовании могут быть потеряны значащие цифры. Возникает, например, при попытке присваивания short = long (C) или integer = long (Basic).

Parameter 'doc' is never used à Параметр 'doc' никогда не используется. Чаще всего возникает после модификации выполняемых инструкций программы, когда необходимость в параметре doc отпала, а в объявлении или в списке параметров процедуры он сохранился.

Избегайте промежуточных переменных. Формулы следует в записывать в том же виде, как это принято в математике.

Пример.

y=2*(a+b) / sqrt ((a+b)*(a+b)+(c+d)*(c+d));

Не изменяйте значение параметра цикла внутри тела цикла.

Это затрудняет понимание логики программы. Кроме того, некоторые языки программирования (Fortran) в целях оптимизации по времени работы помещают копию параметра цикла в регистр процессора. В этом случае изменение параметра цикла в теле цикла не повлияет на условие его выполнения, что почти наверняка приведет к ошибке.

Избегайте инструкций перехода.

Эти инструкции нарушают естественный порядок выполнения программы. Придерживайтесь принципа: текст программы надо читать как книгу слева направо и сверху вниз.

Не используйте помеченные инструкции, на которые нет ссылок.

Единственный смысл такого применения меток – это дополнительное комментирование. Зачем тогда комментарии языка?

Объявляйте все переменные явно.

Явное объявление, кроме своей основной функции определения типа объекта программы, позволяет выявить 1 весьма распространенный вид ошибок – описки. Применение подобных имен в тексте вызовет ошибку или предупреждение при трансляции.

Не используйте одни и те же переменные для различных целей.

При последующей модификации одного фрагмента программы такие переменные могут вызвать ошибку в другом фрагменте.

Не забывайте, что данные с плавающей точкой есть приближенные представления десятичных значений.

Для них с осторожностью надо применять операции равно и не равно.

Пример. Цикл с вещественным параметром.

for x=0 to 2 step 0.05

........................

next x

Проход по телу цикла при x=2 может не выполниться. Необходимо записывать так:

for x=0 to 2.02 step 0.05

........................

next x



Поделиться:


Последнее изменение этой страницы: 2017-02-08; просмотров: 351; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.28.200 (0.006 с.)