« レバレッジ・リーディング | トップページ | 脳が冴える15の習慣 »

2007年10月 2日 (火)

Code Complete第2版(上)

最近コード書いてないなぁ。。。と思いつつ、やっと読み終わったCode Complete第2版(上)です。amazonで絶賛されてたので、ホンマかいな・・・と思いながら読み始めたのですが。。。

いや、すばらしいです。悩めるプロのプログラマは必読です。この本の価値は、ソフトウェア開発に携わってきた著者が、自らの経験と、数十年に及ぶソフトウェア工学の成果を凝縮して、現代のコーディングに関するプラクティスを、たったの2冊にまとめているところです。

話題は極めて具体的です。変数名のつけ方はどうすべきだろう?for文とwhile文のどちらを使うべきだろう?if文のネストが深くなるのはどうすべきだろう?goto文って使っちゃいけないと言われているけど、ちょっとは使ってよいのかな?などなど、コーディング時に悩むさまざまな疑問について、具体的な例(良い例、悪い例)を示しながら、過去に行われてきた多くの研究、議論のキモを教えてくれます。

なので、本書を読むと、「話はCode Completeを読んでからだ」、と他のプログラマに言いたい気分になります。過去数十年の研究、議論を踏まえた上で、議論しようじゃないの。この本を読めば、(ある程度は)それが可能になります。もちろん、長年議論が続いており、明確に「これ」という結論が出ていない論点も多くあります。なので、矛盾をしている主張があるところも多々あります。しかし、それぞれの主張にそれなりの根拠があり、読者としては、いろいろな観点や評価軸を知ることに意義があります。上司に、「なんでgoto文使っているんだ!」と意見されても、「Code Completeによりますと、goto文に関する議論は・・・」と懐の深い回答ができます。

文法を知っているだけでは分りやすい文章は書けません。CPUが速く、メモリも大量にある現代の環境では、高速で省メモリなハードに最適化されたコードよりも、人間が読みやすい、人間に最適化されたコードの方が、メンテナンスも含めたトータルで見れば「効率的」な場合が多いです。じゃあ、どうすれば良いのか?その具体的な答えがここにあります。

|

« レバレッジ・リーディング | トップページ | 脳が冴える15の習慣 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/207693/16643667

この記事へのトラックバック一覧です: Code Complete第2版(上):

« レバレッジ・リーディング | トップページ | 脳が冴える15の習慣 »