Які ключові моменти Code Complete? [зачинено]


72

Я чув, як багато людей згадують Code Complete як книгу, яку варто прочитати. На жаль, я настільки зайнята, що не встигаю її прочитати, тому хтось може сказати мені, які ключові моменти книги?


49
Ключовим моментом сторінки 824 Code Complete 2 є те, що вам потрібно читати книги програмування!
ажеглов

@azheglov: Це 2, як у другому виданні, або 2, як у Code Complete 2, який слід читати після завершення коду?
Кріс

@Chris, майже через 4 роки: це 2, як у другому виданні, переглянуті та оновлені. І я сподіваюся, що ви його прочитали тим часом :-)
streppel

Відповіді:


83

Code Complete - про майстерність програмного забезпечення; це книга просунутого / початкового / середнього рівня, написана для працюючого програміста, але вона все одно буде дуже корисною для того, хто програмує принаймні рік.

Таким чином, ключові моменти Code Complete (2-е видання) чудово узагальнені у главі 34 «Теми з майстерності програмного забезпечення». Як перефразовано з моїх записок:

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

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

Також у книзі чітко видно, що розрив між середнім та відмінним у програмному забезпеченні є величезним ; тільки той факт повинен підбити сумлінного кодера, щоб покращити себе.

Ось це коротко; довга версія є в книзі. :) Я також можу надіслати вам свої не надто довгі, не дуже короткі записки, якщо ви хочете більше деталей. Але книга, безумовно, гроші та витрачені час, навіть якщо стиль написання часом стомлюючий.

Поза кодом завершеним, я дуже рекомендую Прагматичного програміста . Це для програмістів середнього рівня, чудово написаних та чудових поєднань високих, середніх та низьких рівнів.


Ви впевнені, що це книга середнього рівня? Це здається досить базовим, з порадами на кшталт "не забудьте видалити невикористані назви змінних" - чудово підходить для когось на першому чи другому курсі коледжу, але, але не (IMO) проміжного рівня.
Колен

1
@Colen: дякую за ваш коментар, я повинен був би вказати, що це для кодерів для просунутих початківців / проміжних.
ліміст

10
@Colen: Хоча Code Complete стосується деяких простих тем, змішаних зі складними, це точно не для початківців. Практично будь-який розробник на будь-якому рівні може отримати користь від його читання; Ви здивуєтеся, як мало деякі «старші» розробники насправді знають про основи, особливо якщо вони коли-небудь програмували на одній мові або працювали в одній компанії всю свою кар’єру.
Стів Хілл

1
Код IMO завершений непотрібним багатослівним, тому будьте обачні!
BKSpurgeon

Це хороший підсумок тем у книзі. Чи можете ви поділитися своїми не надто довгими, не такими короткими записками?
Акшай Хот

18

Це проміжна книга, пуппурі кращих практик розробки програмного забезпечення.

Якщо ви початківець програміст, ви не зрозумієте багато матеріалів, а якщо у вас є досвід, книга підтвердить лише те, що ви вже знаєте. Отже, книга може мати найбільшу цінність для програмістів-проміжних, які вже мають трохи знань з програмування, але їм потрібна книга найкращих практик, щоб зв'язати це все разом.

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


4
Ваша думка заробила вам нагороду. : p
Натан Тейлор

Де слід поставити фігурні брекети?
Petah
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.