駆け出しエンジニアにまず読んで欲しい本【リーダブルコード】

2020年3月14日土曜日

エンジニア

t f B! P L

新しくプログラミングに取り組む人に、ひとまず読んでおいて欲しい本の紹介です。

私は数年経ってから読みましたが、もっと早くから読んでおけば良かったと後悔しました。

おすすめポイント

  • 経験が浅くてもわかりやすく、実践しやすい
  • ちょっと読んで適用するだけでも、可読性が上がる
  • 具体的例だけではなく、考え方を理解することでその後のコードにずっと役立つ
読みやすくメンテナンスしやすいコードを書くためのアドバイスがわかりやすく纏まっています。

この本に書いてあるようなアドバイスは断片的には先輩から教えて貰えることもあると思いますが、この本を読めばまとめて把握できます。

経験の浅い方のコードでありがちな問題

最近実際に見た方のコードもそうでしたが、下記のようなケースはあるあるだと思います。
先輩の指摘や書籍などで改善をしなければ、数年経ってもこの状態のことも。。
  • 処理の流れをそのまま実装するため、ネストが深く読みづらくなっている
  • ループ回数が最適化されておらず、無駄なループがある
  • 1つの関数が長く、機能が盛り盛りになっている

リーダブルコードにはこの辺りの改善に直結するノウハウがたくさん記載されています。

おすすめの章

特に「7章 制御フローを読みやすくする」のあたりのテクニックを活用して欲しいです。
経験の浅い方が条件分岐の多いコードを書くと、自分の書いた処理で混乱してしまいます。

この章のちょっとしたテクニックを適用するだけでも、ネストの深さが軽減されて読みやすくなると思います。

7章の目次をこちらに引用しておきます。
7章 制御フローを読みやすくする
    7.1 条件式の引数の並び順
    7.2 if/elseブロックの並び順
    7.3 三項演算子
    7.4 do/whileループを避ける
    7.5 関数から早く返す
    7.6 悪名高きgoto
    7.7 ネストを浅くする
        ネストが増える仕組み
        早めに返してネストを削除する
        ループ内部のネストを削除する
    7.8 実行の流れを追えるかい?
    7.9 まとめ

この本を読むメリット

取り組み始めた頃からこの本の知識を実践していけば、上達速度も違うと思います。
ノウハウを掴んだ上でコードを書く経験を重ねることが上達には必要だと思いますので。

また、仕事として取り組む場合は特に、共同でコードを書いたり、継続してメンテナンスが必要となったりすると思います。

その時にこの本のノウハウを生かしたコードを書けるレベルになっていると、
一緒に仕事をしている人だけでなく、自分に対してもコード理解の助けになります。

自分しか触れないコードだとしても、わかりやすいように書くことが大事です。

数ヶ月前の自分が書いたコードは他人のコードと同じです。いや本当に。

このコードよみづらいなー、と思ったら自分で書いたコードだった。。。
なんてことも割とあります。(私だけ?)

おまけ:便利なプログラミング環境


24もの言語をオンラインですぐに試せる環境が手に入ります。
環境構築時の面倒な作業もほとんどが省略できます。

ファイル入出力や外部のAPIへのアクセスなどもできるので、ちょっとさわるぐらいならほとんど困らないかなと思います

注意点としては、機密性の高い情報は載せないようにしたほうがいいと思います。
そこだけ気をつければ、活用するタイミングは多いです。

私は業務中でもちょっとした処理のロジックの確認などに活用しています。

QooQ