Аппаратные и программные средства встраиваемых систем



Pdf көрінісі
бет256/268
Дата07.01.2022
өлшемі3,23 Mb.
#18255
1   ...   252   253   254   255   256   257   258   259   ...   268
Неправильно 
Правильно 
 
while(i++move(a,b,ptr [base+off*i]); 
 
 
while( i++ < dim ) 
move( a, b, ptr [base + off*i] ); 
 
 
Дополнительные  пробелы  могут  быть  также  использованы  для 
выравнивания сходных по смыслу или однотипных частей выражений с целью 
улучшения  наглядности,  например,  при  объявлении  переменных  и  для  серии 
присваиваний: 
int  a, size; 
char *buf; 
float lenght1, lenght2; 
 
. . . 
 
a       = 1; 
lenght1 = GetLength(); 
lenght2 = 0; 
size    = (int) lenght1; 
 
Практику  правильного  использования  пробелов  можно  также  изучить  по 
всем остальным примерам данного подраздела. 


 
277 
А.3.5  Пустые строки 
Использование  пустых  строк  является  важным  средством  для  выделения 
участков программы. При этом имеет смысл отделять: 
1.  Определения переменных:  
char str [80]; 
int counter = 0; 
 
fgets( str, 79, infile); 
counter++; 
 
2.  Последовательности однотипных инструкций или директив: 
#include  
#include  
#include  
 
#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
  a [i] -= delta; 
  b [i] += delta; 

А.3.6  Имена 
Типичной  ошибкой  начинающих  является  стремление  давать  всем 
переменным неосмысленные однобуквенные имена, например m, n, a, s, p и т.п. 
Это  глубоко  порочная  практика,  поскольку  при  этом  теряется  сам  смысл 
понятия  имя.  Однобуквенные  имена  принято  давать  только  индексам. 
Исключением  являются  случаи,  когда  количество  переменных  в  процедуре 
очень мало (порядка 1-3 переменных), и смысл их хорошо понятен из контекста 
или  комментариев.  Пример – описанная  выше  функция factorial. Все 
переменные,  имеющие  сколько-нибудь  важное  значение  в  программе, 
необходимо  снабжать  именами,  в  той  или  иной  мере  характеризующими  их 
назначение, например, filename (имя файла), int_vector (целочисленный вектор), 


 
278 
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 и  т.д.)  поддерживают  длинные  имена  файлов, 
вследствие чего искусственно упрощать и укорачивать их нет необходимости. 
Более  того,  при  разработке  крупного  продукта  количество  исходных  файлов 
измеряется  сотнями.  В  этой  ситуации  невозможно  "помнить",  в  каком  файле 
что  находится,  а  значит  длинные  и  понятные  имена  жизненно  необходимы. 
Появляется также необходимость организации хранения файлов в виде дерева
В  этом  случае,  указанные  в  примере  файлы  могут  храниться  в  отдельном 
подкаталоге vector и именоваться vector\vector.h и vector\vector.cpp. 


Достарыңызбен бөлісу:
1   ...   252   253   254   255   256   257   258   259   ...   268




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет