きれいなコードを書くためにどうすればいいかということをテーマにした本。Javaをサンプルコードとして,汚い状態のコードからきれいな状態のコードにするにはどうすればいいか,けっこう具体的に書いてある。後半に行くにつれて,コードの量が増えるので,Javaに詳しくないとあまりおもしろくないと思う。
前書きのp. 14にかかれていた5S(整理,整頓,清掃,清潔,しつけ)や神は細部に宿る,p. 15「小さなことに忠実な人間とは,多くのことにも忠実なものです。」など,細かいことにこだわることは大きな成果をもたらすということをとても強く主張していたよかった。
個人的に特に興味を持ったのは,「第5章 書式化」と「第6章 オブジェクトとデータ構造」だ。
「第5章 書式化」ではコードの書き方の中で,配置について特に記述された章だ。垂直方向の配置(空行を入れるかどうか)や,水平方向の位置揃え(インデント,アライメント)など。この中で,p. 122-123の内容が印象に残った。
インスタンス変数をどこに置くかという議論で,クラスの頭で置くべきと主張されていた。これは,うまく設計されたクラスではインスタンス変数はひじょうに多くのメソッドで使用されるからとのこと。
その他,依存関数をどういう順番で記述するかというテーマでは,呼び出し側を呼び出される側の上に置くべきとあった。この理由は,上から下にコードを読む際に,自然な流れとなるからだった。新聞の見出しと同じように,大きな概要が上にあり,詳細が下の方に来ると呼びだされている関数を見つけるのが簡単になり,モジュール全体を読むのがはるかに簡単になるとのことだった。
p. 129では水平方向の位置揃えについての議論があった。例えば,以下のように変数の代入の羅列が合ったときに,空白の位置で揃えるかどうかという議論がある。
private Socket socket;
private InputStream input;
個人的には見やすいのでこの形式を採用しているのだが,筆者はこの欠点を指摘していた。
位置合わせをすると,間違ったことが強調され真の意図に目を向けることを妨げられてしまう。例えば,右端の列が強調され,左端の型を見逃してしまうといった具合に。
当初は著者も水平方向の位置揃えをしていたようだが,この欠点が気になりやめたようだ。位置揃えが必要になるということは,位置が揃っていないことが問題なのではなく,リストが長いことが問題だとも主張があった。
「第6章 オブジェクトとデータ構造」では,p. 141の内容が印象に残った。手続き型とオブジェクト型の双方の利点と欠点が指摘されていて参考になった。
手続き型:新たな関数を既存のデータ構造に影響を与えずに追加できるが,新たなデータ構造を追加するには既存の関数全ての変更が必要。
オブジェクト型:既存の関数を変えることなく,新たなデータ構造(クラス)を追加できるが,新たな関数を追加する場合には,全てのクラスの変更が必要。
後半はけっこう読み流してしまったが,上記の考え方が参考になった。
無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
何か問題が発生しました。後で再度リクエストしてください。
OK
Clean Code アジャイルソフトウェア達人の技 大型本 – 2009/5/28
Robert C. Martin
(著),
花井 志生
(翻訳)
ダブルポイント 詳細
- 本の長さ528ページ
- 言語日本語
- 出版社アスキー・メディアワークス
- 発売日2009/5/28
- ISBN-104048676881
- ISBN-13978-4048676885
この商品をチェックした人はこんな商品もチェックしています
ページ 1 以下のうち 1 最初から観るページ 1 以下のうち 1
登録情報
- 出版社 : アスキー・メディアワークス (2009/5/28)
- 発売日 : 2009/5/28
- 言語 : 日本語
- 大型本 : 528ページ
- ISBN-10 : 4048676881
- ISBN-13 : 978-4048676885
- Amazon 売れ筋ランキング: - 71,207位本 (本の売れ筋ランキングを見る)
- カスタマーレビュー:
著者について
著者をフォローして、新作のアップデートや改善されたおすすめを入手してください。
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
カスタマーレビュー
星5つ中3つ
5つのうち3つ
1グローバルレーティング
評価はどのように計算されますか?
全体的な星の評価と星ごとの割合の内訳を計算するために、単純な平均は使用されません。その代わり、レビューの日時がどれだけ新しいかや、レビューアーがAmazonで商品を購入したかどうかなどが考慮されます。また、レビューを分析して信頼性が検証されます。