Jump to content

Элементы стиля программирования

Обложка второго издания
Автор Брайан В. Керниган и Пи Джей Плаугер
Опубликовано МакГроу-Хилл
Дата публикации
1978
Страницы 168 страниц
ISBN 978-0070342071

«Элементы стиля программирования» , написанные Брайаном Керниганом и П.Дж. Плаугером , представляют собой исследование стиля программирования , отстаивающее идею о том, что компьютерные программы должны быть написаны не только для удовлетворения «стиля» компилятора или личного программирования, но также и для «читабельности». людьми, особенно инженерами по сопровождению программного обеспечения , программистами и техническими писателями . Первоначально оно было опубликовано в 1974 году.

В названии и тоне книга явно отдает дань уважения « Элементам стиля » Странка и Уайта и считается практическим образцом, продвигающим дискуссии Эдсгера Дейкстры по структурированному программированию . Он оказал влияние и породил серию подобных текстов, адаптированных для отдельных языков, таких как «Элементы стиля программирования C» , «Элементы стиля C#» , «Элементы стиля Java (TM)» , «Элементы стиля MATLAB » и т. д.

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

Его уроки суммированы в конце каждого раздела в виде содержательных принципов , таких как «Позволь машине сделать грязную работу»:

  1. Пишите четко – не будьте слишком умными.
  2. Скажите, что вы имеете в виду, просто и прямо.
  3. Используйте библиотечные функции, когда это возможно.
  4. Избегайте слишком большого количества временных переменных.
  5. Пишите четко – не жертвуйте ясностью ради эффективности.
  6. Позвольте машине делать грязную работу.
  7. Замените повторяющиеся выражения вызовами общих функций.
  8. Заключите в скобки, чтобы избежать двусмысленности.
  9. Выбирайте имена переменных, которые не будут путать.
  10. Избегайте ненужных веток.
  11. Если логическое выражение трудно понять, попробуйте преобразовать его.
  12. Выберите представление данных, которое сделает программу простой.
  13. Пишите сначала на понятном псевдоязыке; затем переведите на любой язык, который вам нужен.
  14. Модульность. Используйте процедуры и функции.
  15. Полностью избегайте переходов, если вы можете сохранить программу читабельной.
  16. Не исправляйте плохой код — перепишите его.
  17. Напишите и протестируйте большую программу небольшими частями.
  18. Используйте рекурсивные процедуры для рекурсивно определяемых структур данных.
  19. Проверьте входные данные на правдоподобие и достоверность.
  20. Убедитесь, что ввод не нарушает ограничений программы.
  21. Завершить ввод по маркеру конца файла, а не по счетчику.
  22. Определить неправильный ввод; выздоравливайте, если это возможно.
  23. Сделайте входные данные простыми для подготовки, а выходные данные не требуют пояснений.
  24. Используйте единые форматы ввода.
  25. Сделайте ввод легко корректируемым.
  26. Используйте самоидентифицирующий ввод. Разрешить значения по умолчанию. Эхо обоих на выходе.
  27. Перед использованием убедитесь, что все переменные инициализированы.
  28. Не останавливайтесь на одном баге.
  29. Используйте отладочные компиляторы.
  30. Следите за ошибками с точностью до единицы.
  31. Позаботьтесь о правильном разветвлении по принципу равенства.
  32. Будьте осторожны, если петля выходит в одно и то же место из середины и снизу.
  33. Убедитесь, что ваш код изящно «ничего» не делает.
  34. Тестируйте программы на своих граничных значениях.
  35. Проверьте некоторые ответы вручную.
  36. 10,0 умножить на 0,1 вряд ли когда-нибудь будет 1,0.
  37. 7/8 — ноль, а 7,0/8,0 — не ноль.
  38. Не сравнивайте числа с плавающей запятой исключительно на предмет равенства.
  39. Сделайте это правильно, прежде чем делать это быстрее.
  40. Прежде чем делать это быстрее, сделайте его безопасным.
  41. Прежде чем делать это быстрее, проясните ситуацию.
  42. Не жертвуйте ясностью ради небольшого повышения эффективности.
  43. Позвольте вашему компилятору выполнить простую оптимизацию.
  44. Не стремитесь повторно использовать код; вместо этого реорганизуйте.
  45. Убедитесь, что особые случаи действительно особенные.
  46. Сохраняйте простоту, чтобы сделать это быстрее.
  47. Не возитесь с кодом, чтобы сделать его быстрее — найдите лучший алгоритм.
  48. Инструментируйте свои программы. Измерьте, прежде чем вносить изменения в эффективность.
  49. Убедитесь, что комментарии и код согласуются.
  50. Не просто повторяйте код с комментариями — учитывайте каждый комментарий.
  51. Не комментируйте плохой код — перепишите его.
  52. Используйте имена переменных, которые что-то значат.
  53. Используйте ярлыки утверждений, которые что-то означают.
  54. Отформатируйте программу так, чтобы читатель мог ее понять.
  55. Документируйте макеты данных.
  56. Не переусердствуйте с комментариями.

Современные читатели могут счесть недостатком то, что в примерах используются старые процедурные языки программирования ( Fortran и PL/I ), которые сильно отличаются от популярных сегодня. На момент написания этой книги было изобретено несколько популярных сегодня языков. Однако многие положения книги, которые в целом касаются стилистических и структурных вопросов, выходят за рамки деталей конкретных языков.

Компания Kilobaud Microcomputing заявила: «Если вы собираетесь писать программы, которые будут использовать другие люди, вам следует прочитать эту книгу. Если вы планируете стать профессиональным программистом, эта книга является обязательным к прочтению». [1]

  1. ^ Ривз, Джек В. (январь 1980 г.). «Элементы стиля программирования» . Килободные микрокомпьютеры . п. 9 . Проверено 23 июня 2014 г.
  • Б. В. Керниган и П. Дж. Плаугер, Элементы стиля программирования , Макгроу-Хилл, Нью-Йорк, 1974. ISBN   0-07-034199-0
  • Б. В. Керниган и П. Дж. Плаугер, Элементы стиля программирования, 2-е издание , МакГроу-Хилл, Нью-Йорк, 1978. ISBN   0-07-034207-5
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a6d4434272bc4d4fd2c921f56b8c5d37__1675060740
URL1:https://arc.ask3.ru/arc/aa/a6/37/a6d4434272bc4d4fd2c921f56b8c5d37.html
Заголовок, (Title) документа по адресу, URL1:
The Elements of Programming Style - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)