今週からクリーンコードを毎晩読んでいます。
コードをどう書くべきか、かなり泥臭いところを懇切丁寧に解決した本です。
まだ触りを読んだだけですが、良書の感じがします。
あまりネット上に言及している記事が無いので自分の勉強がてら勉強したことを書いていくことにします。続くと思います、多分。
○前書き
ソフトウェア開発では小さなことこそが重要。
建築家はきちんと閉まらないドア、曲がった床のタイル、汚れた机をよしとするか?
「神は細部に宿る」
5S原則はソフトウェア開発にも当てはまる。
- 整理:どこに何があるかを把握する。名前付けはきちんとできているか。
- 整頓:コードは読む人が”ここにあるだろう”と推測した場所にあるべき
- 清掃:コードをコメントアウトで汚してないか
- 清潔:コーディングスタイル、仕事の進め方
- しつけ:変革を厭わない姿勢を持っているか
設計に終わりは無い。常に元あった状態よりも良くしてチェックインすること。
ソフトウェア開発における改善(リファクタリング)はコストではなく、価値につながる。
○序論
職人技の習得は
- 職人に必要な知識を得る(原則、パターン、経験則)
- 知識を咀嚼して自分のものとする
からなる。
クリーンコードを書くには努力が必要。経験則とコードを洗練してく過程で行った判断が何よりも重要。
○第1章 クリーンコード
要件を詳細に定義し、機械に実行可能なものとするのがプログラミングであり、コードである。
よく定義された要件はコードと同じ、常にコードは必要である。
粗悪なコードはコードを追加/修正するのに必要なコストが結局高くつき開発スピードが遅くなって管理できなくなってしまう(ウェーディング(wading)と言うらしい)
プログラマはコードのプロなので、混乱のリスクを理解できない管理者に屈服してはならない。
きれいなコードを「読める」のと「書ける」のには大きな差がある、センスが重要。クリーンコードの定義は人により異なるが、以下の要件を満たすものが挙げられることが多い。
- エレガントであること
- 明快な抽象化、まっすぐな境界線
- 原作者以外でも読め、拡張ができる
- 誰かが気配りを持って書いたコード
- テストがあり、重複が無く、システムの知識が表現されている
クリーンコードにも流派があって当然で、この本で紹介しているのは流派の1つに過ぎないことを頭に留めておくことは大事。
アスキー・メディアワークス
売り上げランキング: 5682
