Code Completeの重要なポイントは何ですか?[閉まっている]


72

多くの人がCode Completeを読む価値のある本だと言っているのを聞いたことがあります。残念ながら、私はとても忙しいので読む時間がありません。だから、この本の重要なポイントは何か教えてもらえますか?


49
Code Complete 2の824ページの重要なポイントは、実際にプログラミングの本を読むべきだということです!
アジェグロフ

@azheglov:これは第2版のように2ですか、コードの完了後に読む必要があるコードの完了2のように2ですか?
クリス

@Chris、ほぼ4年後:改訂および更新された第2版のように2です。そして、その間にあなたがそれを読んだことを願っています:
streppel

回答:


83

Code Completeはソフトウェアの職人技です。それは上級プログラマー/中級者向けの本で、働くプログラマー向けに書かれていますが、少なくとも1年間プログラミングをしている人にとっては非常に有用です。

したがって、Code Complete(第2版)の重要なポイントは、第34章「ソフトウェアクラフツマンシップのテーマ」にまとめられています。私のメモから言い換えると:

  1. 複雑さを克服する:規律、慣習、および抽象化により、心の認知的負荷を軽減します。
  2. プロセスの選択:開始(要件)から終了(展開)およびそれ以降(メンテナンス)まで、品質を意識します。
  3. 人を第一に、コンピューターを第2にプログラムを書く:コードの可読性は、わかりやすさ、レビュー能力、エラー率、エラー修正、変更可能性、そして結果としての開発時間と品質にとって非常に重要です。
  4. あなたの言語ではなく、あなたの言語にプログラムしてください。なぜ?方法の前に?
  5. 規則の助けを借りて注意を集中する:規則は、必要な場所に構造を提供することで複雑さを管理し、最終的なリソース(あなたの注意)を効果的に使用できるようにします。
  6. 問題領域の観点からのプログラム:可能な限り最高の抽象化レベルで作業します。最上位コードは、解決される問題を説明する必要があります。OSレベル、プログラミング言語レベル、低レベルの実装構造、低レベルの問題ドメイン用語、最後に(非コーダー)ユーザーにとって意味のある高レベルの問題ドメイン用語を区別します。
  7. Falling Rocksに注意してください:プログラミングが芸術と科学を融合するとき、警告サインに注意することを含む、良い判断が不可欠です。
  8. 繰り返し、繰り返し、何度も繰り返し:要件、設計、見積もり、コード、コードチューニングを繰り返します。
  9. Thou Shalt Render Software and Religion Asunder折ec的で、実験を進んでください。柔軟性のない熱狂者にならないでください。好奇心と学習を排除します。ツールボックスにハンマーを置くだけではありません。

しかし、最も重要なポイントは、第33章「パーソナルキャラクター」にあります。コーダーとしての向上を意識的に追求すれば、それが可能になります。最速の方法は、マスターコーダー態度(謙虚さ、好奇心、知的誠実さ、規律、創造性)を取り入れながら、習慣を実践することです(多くの良い習慣が本に記載されています。名前)。

また、この本は、ソフトウェアの平均的なものと優れたものの間のギャップが計り知れないことを明らかにしてます。その事実だけでも、良心的なコーダーが自分自身を良くするように駆動するはずです。

それはそれの短いです。長いバージョンは本の中にあります。:)さらに詳細が必要な場合は、それほど長くない、それほど短くないメモを送信することもできます。しかし、この書は確かに使い古されたお金と時間です。たとえ書くスタイルが時々面倒であっても。

完全なコードを超えて、The Pragmatic Programmerを強くお勧めします。中級レベルのプログラマー向けで、きちんと書かれており、高、中、低レベルのアドバイスがうまくミックスされています。


これは中級レベルの本ですか?「未使用の変数名を削除することを忘れないでください」などのアドバイスがある、かなり基本的なようです-大学の1年または2年目の人にとっては素晴らしいかもしれませんが、(IMO)中級レベルはそうではありません。
コレン

1
@Colen:あなたのコメントに感謝します、私はそれが上級初心者/中級コーダー向けであることを指定すべきでした。
リミスト

10
@Colen:Code Completeはいくつかの単純なトピックを複雑なトピックと組み合わせて扱いますが、初心者向けではありません。あらゆるレベルの開発者は、ほとんどそれを読むことで恩恵を受けることができます。一部の「シニア」開発者が実際に基本についてほとんど知らないことに驚かれることでしょう。特に、1つの言語でしかプログラミングしたことがないか、1つの会社でキャリア全体で働いたことがある場合はなおさらです。
スティーブヒル

1
完全なIMOコードは不必要に冗長です。したがって、購入者は注意してください。
BKSpurgeon

これは、本のテーマの良い要約です。それほど長くない、それほど短くないメモを共有してもらえますか?
Akshay Khot

18

これは中級の本であり、ソフトウェア開発のベストプラクティスのポプリです。

あなたが初心者プログラマーであるなら、あなたは多くの材料を理解しません、そして、あなたが経験するならば、本はあなたがすでに知っていることだけを確認するでしょう。その結果、この本は、プログラミングの知識を少し持っている中級プログラマーにとって最も価値があるかもしれませんが、それらをすべて結びつけるベストプラクティスの本が必要です。

コードブロックのフォーマット方法と、各アプローチの相対的なメリットについては、いくつかのページが費やされています。個人的には、中括弧をどこに置くかについての大きな議論は終わったと思います。(またはそれは?)


4
あなたの括弧はあなたに賛成票を獲得しました。:p
ネイサンテイラー

中括弧はどこに置くべきですか?
ペタ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.