Jan. 22nd, 2011

Используйте идиоматические конструкции везде, где только можно. Чтобы это делать, нужно хорошо знать язык и идиомы, ровно как и в случае с человеческими языками. Лексической и синтаксической корректности текста, его правильного форматирования и отсутствия фактических и логических ошибок недостаточно. Требуются также короткие, легко узнаваемые, четкие, ясные и лаконичные выражения.

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

«Пользуйтесь длинными, содержательными именами для глобальных объектов и короткими — для локальных... Локальные переменные, используемые стандартными образом, вполне могут иметь очень короткие имена. Например, традиционно счетчики циклов обозначаются i и j, указатели — p и q, а строки — s и t. Используя вместо этих обозначений более длинные, можно не только ничего не выиграть, но даже проиграть. Рассмотрим такой пример:
?	for (theElementIndex = 0; theElementIndex < numberOfElements; theElementIndex++)
?		elementArray[theElementIndex] = theElementIndex;
А теперь перепишем его в следующем виде:
	for (i = 0; i < nelems; i++)
		elem[i] = i;
Программистов часто приучают применять длинные имена вне зависимости от контекста. Это ошибка — удобочитаемость часто достигается именно краткостью записи...

1.6. Комментарии

Не повторяйте очевидное... Не комментируйте плохой код — переписывайте его... написание хорошего кода имеет много общего с написанием хорошего литературного текста... Придерживайтесь стандарта... Программируйте базовыми средствами языка... Избегайте проблематичных возможностей языка... Пользуйтесь стандартными библиотеками... Пользуйтесь только средствами, имеющимися в наличии везде... Избегайте условной компиляции... Поддерживайте совместимость с существующими программами и данными» (Керниган и Пайк, «Практика программирования», перевод с английского под редакцией В. Л. Бродового, 2004).

Обсуждать программирование с кем-либо, не знакомым с содержанием вышеупомянутой книги (необязательно из нее самой) и языком программирования ANSI C в объеме учебника Кернигана и Ритчи, считаю абсолютно бессмысленным. В случае отсутствия такого противопоказания осмысленность обсуждений немедленно оказывается под серьезным сомнением, если собеседник не чувствует себя уверенным в работе со стандартом IEEE 1003.1 — основным приложением данного языка.

Profile

Anton Salikhmetov

November 2018

S M T W T F S
    123
45678 910
11121314151617
18192021222324
252627282930 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 9th, 2025 12:28 pm
Powered by Dreamwidth Studios