Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Определения данных




Понимая особую важность данных, приведем несколько правил их определения и использования [4].

Объявляйте все переменные явно. Во многих языках программиро­вания разрешается определять данные неявно, просто используя их имена в выполняемых операторах. Такие «сокращения» предназначены для диле­тантов или тех, кто программирует от случая к случаю, но не для програм­мистов-профессионалов. Профессиональный программист должен явно определять или объявлять все переменные в самом начале модуля.

Объявляйте все атрибуты каждой переменной. Не следует также пользоваться имеющимися в языке сокращениями для объявления aтpибyтoв, не указанных явно, по умолчанию. Процесс выбора атрибутов по умолчанию часто сложен и ведет к ошибкам, если программист не вполне его понимает. Более того, некоторые компиляторы позволяют на каждой вычислительной установке изменять правила умолчания, что явля­ется крайне опасной практикой.

Избегайте явных констант. В исполняемом тексте программы не должно быть абсолютных констант, за исключением таких общеупотреби­тельных значений, как единица, нуль, число ПИ и т.п. Для констант надо вводить символические имена и использовать их в программе

а=sin(0,7);

следует заменить на фрагмент программы:

с=0,7;

а=sin(c);

Никогда не используйте несколько имен для одной области памяти.

Никогда не используйте переменную более чем для одной цели. Рас­пространенный прием экономии лишнего слова памяти состоит в повтор­ном использовании переменной в различных целях. Программист вполне может решить: «Я закончил работать с TIME для расчетов времени, по­этому теперь буду использовать эту переменную как промежуточную при вычислении даты». Такая практика увеличивает шансы внесения ошибок при модификации программы.

Никогда не используйте особые значения переменной с особым смыслом. В определении параметров подпрограмм часто можно увидеть комментарии вроде такого: «ДЛСТРОКИ – это число символов во входной строке, причем ДЛСТРОКИ=0 означает ошибку при вводе». Это неодно­значное употребление параметра часто приводит к двусмысленным ситуа­циям и иногда затрудняет изменение программы. Чтобы передавать код ошибки, следует определить отдельный параметр.

Пишите модули, управляемые таблицами. При программировании модулей, реализующих сложный процесс принятия решений, эти решения следует описывать таблицей, а не встраивать в текст программы. Это со­кращает и «обобщает» программу, а также значительно облегчает модифи­кации.

Будьте осторожны с двоичной машиной. Двоичные машины обла­дают тем свойством, что числа с плавающей точкой в них представляются приближенными значениями. В такой машине умножение 10.0 на 0.1 редко дает в результате 1.0. Программист должен остерегаться этого свойства, особенно при попытке сравнивать два числа с плавающей точкой.

Будьте осторожны с действиями над целыми. Следует быть внима­тельным при умножении или делении целых чисел. Если I – целочисленная переменная, то ответ на вопрос, равны ли между собой I и 2*I/2, зависит от того, четно I или нет и что в сгенерированной компилятором программе будет выполняться раньше: умножение или деление.

Избегайте операций со значениями смешанных типов. Программи­сту не следует употреблять вперемешку переменные различных типов (на­пример, двоичные, десятичные, плавающие) или различной точности в од­ном выражении; компилятор может выполнить некоторые неожиданные преобразования. Такие операции, как сложение строки символов с цело­численной переменной, нельзя делать никогда. Необходима осторожность при употреблении констант, поскольку компилятор может приписать им по умолчанию атрибуты, требующие неожиданных преобразований дан­ных. Например, следующий фрагмент на Delphi:

WinExec('"bin\tpc.exe" ' + ListBox.Items.Strings[2]);

{запуск консольного приложения с параметром, который написан во второй строчке листбокса}

Компилятор выдает ошибку на несовместимые типы String и PAnsiChar.

Для исправления этой ошибки строку нужно привести к PChar:

WinExec(PChar('"bin\tpc.exe" ' +ListBox.Items.Strings[2])).

 





Поделиться с друзьями:


Дата добавления: 2015-05-08; Мы поможем в написании ваших работ!; просмотров: 1439 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2930 - | 2742 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.