Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Return -1; //Заведомо невозможный результат ⇐ ПредыдущаяСтр 4 из 4
} return 1; } Второй подход показан на том же примере:
Int factorial( int n ) { if( n > 1 ) return n * factorial( n-1 ); if( n < 0 ) { fprintf( stderr, “Factorial error: negative argument\n” ); Return -1; //Заведомо невозможный результат } return 1; }
Как видно, отличие состоит в положении открывающейся скобки. Однако закрывающаяся скобка в обоих случаях должна находиться на уровне управляющего оператора или описания.
Пробелы. Особенность зрительного восприятия человека такова, что пробелы распознаются лучше других знаков синтаксиса. Поэтому отдельные элементы текста необходимо отделять пробелами, несмотря на то что первые, возможно, уже отделены другими знаками препинания (скобки, запятые, точки с запятой и т.д.). В особенности важно отделять стоящие рядом операторы и списки аргументов функций:
Неправильно Правильно ———————————————————————————————- while(i++< dim) while( i++ < dim ) move(a, b, ptr[base+off*i]); move( a, b, ptr[base + off*i] ); Дополнительные пробелы могут быть также использованы для выравнивания сходных по смыслу или однотипных частей выражений с целью улучшения наглядности, например, при объявлении переменных и для серии присваиваний:
int a, size; char *buf; float lenght1, lenght2; ... a = 1; lenght1 = GetLength(); lenght2 = 0; size = (int) lenght1; Пустые строки. Использование пустых строк является важным средством для выделения участков программы. При этом имеет смысл отделять: 1) определения переменных: char str[80]; int counter = 0; fgets( str, 79, infile); counter++; 2) последовательности однотипных инструкций или директив: #include < math.h> #include < stdio.h> #include < stdlib.h> #define NAME_SIZE 256 #define MAX_LEN 3000 3) функции: Int main() { ... } char *get_name(FILE *f) { ... } 4) любые логически завершенные блоки кода: Printf( “Enter size and delta: “ ); //Блок ввода данных scanf( “%d”, & size ); scanf( “%f”, & delta ); for( i=0; i< size; i++ ) //Блок использования данных { a[i] -= delta; b[i] += delta; } Имена. Типичной ошибкой начинающих является стремление давать всем переменным неосмысленные однобуквенные имена, например m, n, a, s, p и т.п. Это глубоко порочная практика, поскольку при этом теряется сам смысл понятия имя. Однобуквенные имена принято давать только индексам. Исключением являются случаи, когда количество переменных в процедуре очень мало (порядка 1–3 переменных) и смысл их хорошо понятен из контекста или комментариев. Пример – описанная выше функция factorial. Все переменные, имеющие сколько-нибудь важное значение в программе, необходимо снабжать именами, в той или иной мере характеризующими их назначение, например, filename (имя файла), int_vector (целочисленный вектор), size (размер), sum (сумма), maximum (максимум) и т.п. При плохом знании английского языка можно использовать звуковые аналоги русским буквам, например nazv_faila, razmer, summa и т.п. Это не в полной мере соответствует представлению о “хорошем стиле”, но, несомненно, гораздо нагляднее использования совсем бессмысленных имен. Еще в большей мере сказанное относится к именам функций и классов. Такие имена часто делают довольно длинными для улучшения понимаемости их смысла, а отдельные компоненты имен начинают с большой буквы, например ObjectList, ArcSet и т.п. Имена функций при этом рекомендуется начинать с глагола, например GetPersonName, SetNewDate и т.п. Альтернативным способом выделения компонент в сложных названиях является использование символа подчеркивания, например add_record, copy_object и т.п. Все сказанное вполне относится и к именам файлов с программами. Имена файлов должны нести обязательную смысловую нагрузку, поясняя свое “содержимое”. Например, заголовочный файл, содержащий описание класса vector логичнее всего назвать vector.h или vector_description.h, а файл, содержащий реализацию методов этого класса – vector.cpp или vector_implementation.cpp. Все современные операционные системы (UNIX, Windows 95/98/NT и т.д.) поддерживают длинные имена файлов, вследствие чего искусственно упрощать и укорачивать их нет необходимости. Более того, при разработке крупного продукта количество исходных файлов измеряется сотнями. В этой ситуации невозможно “помнить”, в каком файле что находится, а значит, длинные и понятные имена жизненно необходимы. Появляется также необходимость организации хранения файлов в виде дерева. В этом случае указанные в примере файлы могут храниться в отдельном подкаталоге vector и именоваться
vector\vector.h и vector\vector.cpp. Комментарии. Время, потраченное на написание комментариев, многократно окупится при любых модификациях программы. Однако комментировать все подряд, включая очевидные действия, как в следующем примере, тоже не стоит:
size = 10; //Присвоить size значение 10 for( i=0; i< size; i++) //Цикл по i от 0 до size {... } Такого рода комментарии только загромождают программу.
Комментировать следует: 1) заголовок файла, описывая содержимое данного файла; 2) заголовок функции, поясняя назначение ее аргументов и смысл самой функции; 3) вводимые переменные и структуры данных; 4) основные этапы и особенности реализуемых алгоритмов; 5) любые места, которые трудны для быстрого понимания, в особенности использование различных программных “трюков” и нестандартных приемов. Приложение Д Перечень нормативно-технической документации, используемой при оформлении чертежей
ЕСКД. Виды и комплектность конструкторских документов [Текст]: ГОСТ 2.102–68 (2001). - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Основные надписи [Текст]: ГОСТ 2.104-68*. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 2002. ЕСКД. Текстовые документы [Текст]: ГОСТ 2.106-96. - Введ. 1997-07-01. – М.: ИПК Изд-во стандартов, 1997. ЕСКД. Основные требования к чертежам [Текст]: ГОСТ 2.109–73 (2001). - Введ. 1974-07-01. – М.: ИПК Изд-во стандартов, 1974. ЕСКД. Групповые и базовые конструкторские документы (с изменениями № 1-5) [Текст]: ГОСТ 2.113–75. - Введ. 1976-01-01. – М.: ИПК Изд-во стандартов, 1976. ЕСКД. Форматы [Текст]: ГОСТ 2.301–68*. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Масштабы [Текст]: ГОСТ 2.302–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Линии [Текст]: ГОСТ 2.303–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Шрифты чертежные [Текст]: ГОСТ 2.304–81. - Введ. 1982-01-01. – М.: ИПК Изд-во стандартов, 1982. ЕСКД. Изображения-виды, разрезы, сечения [Текст]: ГОСТ 2.305–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения графических материалов и правила их нанесения на чертежах [Текст]: ГОСТ 2.306–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Нанесение размеров и предельных отклонений. Единая система допусков и посадок. Поля допусков и рекомендуемые посадки [Текст]: ГОСТ 2.307–68. - Введ. 1979-01-01. – М.: ИПК Изд-во стандартов, 1979. Указания на чертежах допусков форм и расположения поверхностей [Текст]: ГОСТ 2.308–79 ЕСКД. ЕСКД. Обозначение поверхностей шероховатости [Текст]: ГОСТ 2.309–73. - Введ. 1974-07-01. – М.: ИПК Изд-во стандартов, 1974. ЕСКД. Нанесение на чертежах обозначений покрытий, термической и других видов обработки [Текст]: ГОСТ 2.310–68*.- Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Изображение резьбы [Текст]: ГОСТ 2.311–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Условные изображения и обозначения швов сварных соединений [Текст]: ГОСТ 2.312–72. - Введ. 1973-01-01. – М.: ИПК Изд-во стандартов, 1973. ЕСКД. Указания на чертежах о маркировании и клеймении изделий [Текст]: ГОСТ 2.314–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Изображения упрощенные и условные крепежных деталей [Текст]: ГОСТ 2.315–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Правила нанесения на чертежах надписей, технических требований и таблиц [Текст]: ГОСТ 2.316–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Аксонометрические проекции [Текст]: ГОСТ 2.317-69. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Правила упрощенного нанесения размеров отверстий [Текст]: ГОСТ 2.318–81. - Введ. 1982-01-01. – М.: ИПК Изд-во стандартов, 1982. ЕСКД. Правила выполнения чертежей и схем оптических изделий [Текст]: ГОСТ 2.412–81. - Введ. 1982-01-01. – М.: ИПК Изд-во стандартов, 1982. ЕСКД. Правила выполнения конструкторской документации изделий, изготовляемых с применением электрического монтажа [Текст]: ГОСТ 2.413–72. - Введ. 1973-07-01. – М.: ИПК Изд-во стандартов, 1973. ЕСКД. Правила выполнения чертежей жгутов, кабелей и проводов [Текст]: ГОСТ 2.414–75. - Введ. 1977-01-01. – М.: ИПК Изд-во стандартов, 1977. ЕСКД. Правила выполнения чертежей изделий с электрическими обмотками [Текст]: ГОСТ 2.415–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Условные изображения сердечников магнитопроводов [Текст]: ГОСТ 2.416–68. - Введ. - 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Правила выполнения чертежей печатных плат [Текст]: ГОСТ 2.417–78. - Введ. 1992-07-01. – М.: ИПК Изд-во стандартов, 1992. ЕСКД. Шероховатость поверхности. Параметры и характеристики [Текст]: ГОСТ 2.789–73. - Введ. 1975-01-01. – М.: ИПК Изд-во стандартов, 1975. ЕСКД. Резьба метрическая для диаметров от 1 до 600 мм. Допуски [Текст]: ГОСТ 16093–81. - Введ. 1982-01-01. – М.: ИПК Изд-во стандартов, 1982. ЕСКД. Правила выполнения диаграмм. Рекомендации [Текст]: Р 50–77–88 // Постановление Госстандарта СССР от 23.09.1988 № 3231. Приложение Е Перечень нормативно-технической документации,
ЕСКД. Схемы. Виды и типы. Общие требования к выполнению [Текст]: ГОСТ 2.701–84. - Введ. 1985-07-01. – М.: ИПК Изд-во стандартов, 1985. ЕСКД. Правила выполнения электрических схем [Текст]: ГОСТ 2.702–75. - Введ. 1977-07-01. – М.: ИПК Изд-во стандартов, 1977. ЕСКД. Правила выполнения электрических схем цифровой вычислительной техники [Текст]: ГОСТ 2.708–81. - Введ. 1982-01-01. – М.: ИПК Изд-во стандартов, 1982. ЕСКД. Обозначения буквенно-цифровые в электрических схемах [Текст]: ГОСТ 2.710–81. ГОСТ 2.708–81. - Введ. 1981-07-01. – М.: ИПК Изд-во стандартов, 1981. ЕСКД. Схема деления изделия на составные части [Текст]: ГОСТ 2.711–81. - Введ. 1983-07-01. – М.: ИПК Изд-во стандартов, 1983. ЕСКД. Обозначения условные графические в схемах. Общего применения [Текст]: ГОСТ 2.721–74. - Введ. 1975-07-01. – М.: ИПК Изд-во стандартов, 1975. ЕСКД. Обозначения условные графические в схемах. Машины электрические [Текст]: ГОСТ 2.722–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Катушки индуктивности, дроссели, трансформаторы и магнитные усилители [Текст]: ГОСТ 2.72 3–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Устройства коммутирующие [Текст]: ГОСТ 2.725–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Токосъемники [Текст]: ГОСТ 2.726–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Разрядники. Предохранители [Текст]: ГОСТ 2.727–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Резисторы. Конденсаторы [Текст]: ГОСТ 2.728–74. - Введ. 1975-07-01. – М.: ИПК Изд-во стандартов, 1975. ЕСКД. Обозначения условные графические в схемах. Приборы электроизмерительные [Текст]: ГОСТ 2.729–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Приборы полупроводниковые [Текст]: ГОСТ 2.730–73. - Введ. 1974-07-01. – М.: ИПК Изд-во стандартов, 1974. ЕСКД. Обозначения условные графические в схемах. Приборы электровакуумные [Текст]: ГОСТ 2.731–81. - Введ. 1981-07-01. – М.: ИПК Изд-во стандартов, 1981. ЕСКД. Обозначения условные графические в схемах. Источники света [Текст]: ГОСТ 2.732–68. Введ. - 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические детекторов ионизирующих излучений в схемах [Текст]: ГОСТ 2.733–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Линии сверхвысокой частоты и их элементы [Текст]: ГОСТ 2.734–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Антенны [Текст]: ГОСТ 2.735–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Элементы пьезоэлектрические и магнитострикционные, линии задержки [Текст]: ГОСТ 2.736–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Устройства связи [Текст]: ГОСТ 2.737–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Приборы акустические [Текст]: ГОСТ 2.741–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Элементы цифровой техники [Текст]: ГОСТ 2.743–91. - Введ. 1993-01-01. – М.: ИПК Изд-во стандартов, 1993. ЕСКД. Обозначения условные графические в схемах. Устройства электрозапальные [Текст]: ГОСТ 2.744–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Электронагреватели, устройства и установки [Текст]: ГОСТ 2.745–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Генераторы и усилители квантовые [Текст]: ГОСТ 2.746–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Размеры условных графических обозначений [Текст]: ГОСТ 2.747–68. - Введ. 1971-01-01. – М.: ИПК Изд-во стандартов, 1971. ЕСКД. Обозначения условные графические в схемах. Устройства телемеханики [Текст]: ГОСТ 2.752–71. - Введ. 1972-01-01. – М.: ИПК Изд-во стандартов, 1972. ЕСКД. Обозначения условные графические в схемах. Устройства коммутационные и контактные соединения [Текст]: ГОСТ 2.755–87. - Введ. 1988-01-01. – М.: ИПК Изд-во стандартов, 1988. ЕСКД. Обозначения условные графические в схемах. Воспринимающая часть электромеханических устройств [Текст]: ГОСТ 2.756–76. - Введ. 1978-01-01. – М.: ИПК Изд-во стандартов, 1978. ЕСКД. Обозначения условные графические в схемах. Элементы аналоговой техники [Текст]: ГОСТ 2.759–82. - Введ. 1983-07-01. – М.: ИПК Изд-во стандартов, 1983. ЕСКД. Обозначения условные графические в схемах. Элементы вакуумных систем [Текст]: ГОСТ 2.796-95. - Введ. 1997-01-01. – М.: ИПК Изд-во стандартов, 1997. ЕСКД. Правила выполнения вакуумных систем [Текст]: ГОСТ 2.797–81. - Введ. 1983-01-01. – М.: ИПК Изд-во стандартов, 1983.
Приложение Ж Сводная таблица унифицированных требований к оформлению письменных студенческих работ Обязательны для применения студентами, преподавателями, организаторами учебного процесса
Популярное:
|
Последнее изменение этой страницы: 2016-07-12; Просмотров: 715; Нарушение авторского права страницы