リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- オライリージャパン (2012年6月23日発売)
- Amazon.co.jp ・本 (260ページ)
- / ISBN・EAN: 9784873115658
感想・レビュー・書評
-
掻い摘んでしか読んでいなかったが、隅から隅まで読んでみると、今でも使えるなあとうことが書いてあった。
作者の方の思考的な言葉が面白かった。
考えながら深く読んでいくと良さそう。詳細をみるコメント0件をすべて表示 -
これでリーダブルなコードが書ける気がする!
-
読みやすく保守しやすいコードとは?
それを書くにはどうすれば良いか?
といった、実装する際の考え方と方法論が詰まった良書。
分かりやすい言葉で、かつ実際のコードを交えて説明してくれているので実践へのハードルが低くなっている。
出来るだけ早いうちに読むべき本。 -
久々に読み直してみた。職業としてプログラムを書いて約7年だが、今でも学びになることはあるな〜と再確認できた。
プログラムをこれから書いていくなら、まず読んだ方が良いと思う。特に入社一年目。 -
# 【目的】この本を手に取った理由
- どうすればコードの品質を改善できるのか?
# 結論
- コードを書く目的を明確にし、読ませるコードを書く
## 第1部 表面上の改善
### 命名について
- 変数名や関数名明確でカラフルな単語を選ぶ
- ありきたりで曖昧な単語は避ける
- 形容詞や過去分詞を含めることで目的を明確にする
### コードの体裁
- 見た目(コードの幅を合わせる)等を行う
- typoの回避に繋がる
### コメント
- 必要なコメントのみを書く
- コードから読み取れるようなコメントを入れる必要はない
- 自分やメンバーがコードを読むときの手助けとなるように
## 第2部ループとロジックの単純化
### 制御フローを見やすくする
- ネストは浅く
- 関数はすぐに返す
- 説明変数を使用する
- 条件式は肯定形
- do whileとgotoは(なるべく)使用しない
### 変数のスコープ
- 変数には一度だけ入れる
- 何度も変数を格納するとミスリードの原因となる
- 変数のスコープはなるべく小さくする
## 第3部 コードの再編成
### コード=目的を達成するもの
- コードは上位の目的を遂行するためのものである
- 下位の目的は関数化して分解する
- 上位の目的を遂行するために会のモジュールを作成していくというイメージ
- 汎用性のあるコードを作成する(ライブラリを使用する)
- オレオレコードかかない
- 一度に一つのことを行う
## 引用
冒険。興奮。ジェダイははそんなものは求めておらん
- ヨーダ
おばあちゃんに説明できなければ、本当に理解したとは言えない
- アルベルト・アインシュタイン -
【長期貸出不可】
プログラマなら所持するべき
コードを書く時、側に置いていつでも参照できるようにすべき -
社会人になってから未経験でSEになり、勉強のために読みました。
学校などで専門の教育を受けていない身からすると、参考になる情報が多々ありました。それぞれの内容は「まぁ、そうだよね。」っていう内容が多いけど、教わらずに自力で辿り着くには時間がかかると思うので、この本で当たり前の事を確認できるのはとても意義があると感じた。数年経ったら再読したい。 -
プログラミングで良いコードを書くための方法が具体的なソースコードで説明されている。見た目に近いメンテナンス性の話だけでなく、計算量までカバーしている点は評価が高い。エンジニアの定番の書籍としてよく知られている。
アンチパターンとその対策がテーマ別に書かれている。テーマによってはプログラミングだけでなくドキュメンテーションやプレゼンテーション、ロジカルシンキングにも応用できるので、教訓を抽象的に見ると学びが多くて良いだろう。ソースコードでの説明が多いため、本書をエンジニア以外が読むのは難しいかもしれないが、エンジニアが読んでプログラミング以外に応用することは難しくないはずだ。
ただし、職場環境次第では本書の教えを素直に適用できないこともある。たとえば取引先のルールや古い既存コードやチームの方針を優先する場合には、自由なコードを書くことができないかもしれない。この場合でも、理想的なコードを知ることは良い学びになるだろう。読んだ本人が短期的にコードに反映するだけでなく、後輩や部下に教えたりレビューするときにも活用できるので、学んでおいて損はない。
良質な教訓やテクニックが多くて付箋を大量に貼ってしまって、全部引用するのは手間がかかりすぎるため、特に残したいものに絞って以下に引用する。(本音を言えば一度途中まで書いていたのに手違いで消してしまい、書き直すモチベーションが下がっているので楽にやることにした) -
今まで自分は変数名、メソッド名の考え方が浅かったと痛感した。
適当なつもりはなかったが、ご指摘のとおりですと言った感じ。
実践してみよう -
変数名やメソッド名の付け方、ロジックの組み方など、小さなことから大きいことまで様々な粒度でコーディング時に注意することが学べた。
読みやすいコードとは何か、ここまで明確に言語化されて、根拠を提示されて、具体例も添えられていて、とても親切で分かりやすかったです。
何度も読み返す必要がありそうです。