Каковы ключевые моменты Code Complete? [закрыто]

72

Я слышал, что многие упоминают Code Complete как книгу, которую стоит прочитать. К сожалению, я так занят, что у меня нет времени, чтобы прочитать его, поэтому кто-нибудь может сказать мне, каковы ключевые моменты книги?

Casebash
источник
49
Ключевой момент на странице 824 Code Complete 2 заключается в том, что вы действительно должны читать книги по программированию!
ажеглов
@azheglov: Это 2 как во 2-м издании или 2 как в Code Complete 2, которые следует читать после Code Complete?
Крис
@Chris, почти 4 года спустя: это 2, как и во 2-м издании, пересмотрено и обновлено. И я надеюсь, что вы прочитали это в это время :-)
streppel

Ответы:

83

Code Complete - это мастерство программного обеспечения; Это книга для начинающих / среднего уровня, написанная для работающего программиста, но она все равно будет очень полезна для тех, кто занимается программированием не менее года.

Таким образом, ключевые моменты Code Complete (2-е изд.) Хорошо изложены в главе 34 «Темы в мастерстве программного обеспечения». Как перефразировано из моих заметок:

  1. Покорите Сложность : уменьшите когнитивную нагрузку на ваш разум через дисциплину, соглашения и абстракцию.
  2. Выберите свой процесс : осознавайте качество от начала (требования) до конца (развертывание) и за его пределами (обслуживание).
  3. Пишем программы для людей, во-первых, для компьютеров. Во-вторых : удобочитаемость кода чрезвычайно важна для понимания, возможности просмотра, частоты ошибок, исправления ошибок, модифицируемости, а также времени и качества разработки.
  4. Запрограммируйте на свой язык, а не на него : подумайте, что? и почему? перед тем как?
  5. Сосредоточьте свое внимание с помощью условных обозначений: условные обозначения управляют сложностью, предоставляя структуру там, где это необходимо, чтобы эффективный ресурс - ваше внимание - мог эффективно использоваться.
  6. Программа с точки зрения предметной области : работа на максимально высоком уровне абстракции; код верхнего уровня должен описывать решаемую проблему. Различают уровень ОС, уровень языка программирования, низкоуровневые структуры реализации, низкоуровневые термины проблемной области и, наконец, высокоуровневые термины проблемной области, которые будут иметь смысл для пользователя (не кодирующего).
  7. Следите за падающими камнями : поскольку программирование объединяет искусство и науку, здравый смысл жизненно важен, включая внимательные предупреждающие знаки.
  8. Повторяйте, повторяйте, снова и снова : повторяйте требования, дизайн, оценки, код, настройку кода.
  9. Ты будешь представлять программное обеспечение и религию врозь : будь эклектичен и готов экспериментировать. Не будьте негибким фанатиком, это исключает любопытство и обучение. Пойдите больше, чем просто молоток в вашем наборе инструментов.

Но наиболее важные выводы содержатся в главе 33 « Персональный характер» : если вы сознательно стремитесь стать программистом, вы можете и захотите. Самый быстрый способ сделать это - принять отношение мастеров-программистов (смирение, любопытство, интеллектуальная честность, дисциплина, креативность) и одновременно практиковать их привычки (в книге перечислены многие хорошие привычки, например, выбор хорошей переменной / значения). имена).

Кроме того, книга ясно показывает, что разрыв между средним и отличным в программном обеспечении огромен ; один этот факт должен заставить добросовестного кодера стать лучше.

Вот в чем дело; длинная версия в книге. :) Я также могу отправить вам свои не очень длинные, не очень короткие заметки, если вы хотите больше подробностей. Но книга, безусловно, тратит деньги и время, даже если стиль написания иногда утомителен.

Помимо Code Complete я очень рекомендую Прагматичного Программиста . Это для программистов среднего уровня, хорошо написанных и отличного сочетания советов высокого, среднего и низкого уровня.

limist
источник
Вы уверены, что это книга среднего уровня? Это кажется довольно простым, с советом типа «не забудьте удалить неиспользуемые имена переменных» - отлично подходит для кого-то на первом или втором курсе колледжа, может быть, но не на промежуточном уровне (IMO).
Colen
1
@Colen: спасибо за ваш комментарий, я должен был указать это для продвинутых начинающих / промежуточных кодеров.
limist
10
@Colen: Хотя Code Complete имеет дело с некоторыми простыми темами, смешанными со сложными, это определенно не для начинающих. Практически любой разработчик любого уровня может извлечь пользу из его прочтения; вы будете удивлены, как мало «старших» разработчиков на самом деле знают об основах, особенно если они когда-либо программировали только на одном языке или работали в одной компании за всю свою карьеру.
Стив Хилл
1
Полный код IMO не нужен многословно - так что покупатель остерегается!
BKSpurgeon
Это хорошее резюме тем в книге. Не могли бы вы поделиться своими не такими длинными, не такими короткими заметками?
Акшай Хот
18

Это промежуточная книга, рассказ о лучших практиках разработки программного обеспечения.

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

Несколько страниц посвящено тому, как форматировать кодовые блоки, и относительным достоинствам каждого подхода. Лично я думаю, что великие дебаты о том, где поставить свои фигурные скобки, закончились. (либо это?)

Роберт Харви
источник
4
Твои скобки заработали тебе голос. : p
Натан Тейлор
Где я должен положить фигурные скобки?
Петах