
最近自分でコードを書けるようになったけど、レビューで指摘をたくさん受けてしまいます!

それなら次はコーディングの技術を磨くために、コードの可読性について説明しよう!
はじめに
研修を終え、一通りのプログラミングの基礎を身につけて現場に入り、何度かコーディングを経験したぐらいで、ちょっとした壁にぶつかるかもしれません。
「あれ、自分のコードってなんか分かりにくいな、、」
「先輩のコードとなにが違うんだろう、、?」
うまく言語化できないそのモヤモヤを解決するのが、コードの可読性という観点です。
コードの可読性とは
可読性は読んで字のごとく、「読みやすさ」です。
ここでは「自分が読みやすい+他の人も読みやすい+のちの自分や他の人が読みやすい」の3ステップで解説していきます。
自分が読みやすい
コードを最初にチェックするのは自分です。
自分が書いていて自分が読めなくなってしまうのは本末転倒ですね。
他の人も読みやすい
そのコードをレビュー(確認)する上司、あるいは関連するプログラムを作る別のプログラマーなど、自分以外にもたくさんの人が読むことになります。
たとえ自分が読みやすくても、他の人が理解できるものでなければ、独りよがりなコーディングになってしまいます。
のちの自分や他の人が読みやすい
特に初心者が見落としやすい観点が、のちの自分や他の人が読みやすいかどうかという考えです。
作成したプログラムは5年も10年も残り続けます。
はたして皆さんが書いたコードを、10年後に見直してすぐに理解できるでしょうか?
可読性が低いコードの一場面
最初の頃はがむしゃらに仕事して、レビュー後に先輩・上司の指摘を言われたままとりあえず直していたかもしれません。
しかしある程度コーディングを経験してくると、「この指摘に何の意味があるんだろう?」と疑問を持ち始めることでしょう。
例えば、ちゃんとコメント(コードの中に書く処理の説明書きのようなもの)を処理ごとに書くように指摘されたことはないでしょうか?
コメントはコードに影響がないため、あっても無くても関係ないと初めのうちは思うかもしれません。(自分もそう思ってました、、)
ところが、コメントを正しく残していなかったがため、上司とのレビューでいちいち処理内容を説明しなければならなくなったり、数か月後に別の修正を入れようとしたときに、内容を思い出すのに時間がかかってしまうことがあります。
こういったコードが重なっていくと、どんどん複雑化していってしまい、最終的に誰も内容を理解できない「スパゲッティコード」ができ上がってしまうのです。
可読性を高めるにはどうすればいいか
ではコードの可読性を高める、言い換えると可読性の高いコーディング技術を身につけるためにはどのようにすればいいのでしょうか?
自分にあう方法を見つけるのが一番ですが、まずは下記3つを実践することをオススメします!
コーディング規約を学ぼう
コーディング規約(もしくはコーディングルール)とは、文字通りコーディングをする際のルールです。
ここでは2種類の調べ方について教えます。
現場のコーディング規約を探す
通常の現場では、基本的にはコーディング規約が存在し、それについての資料がどこかにあるハズです。
(あいまいに書いている理由はお察しのとおり、ちゃんとルール化されていない現場もあるからです、、)
もし存在する場合は基本的にはそのルールが第一優先なので、コーディングをする前とコーディングした後に確認する習慣をつけましょう。
ネットで使用するプログラミング言語の規約を調べよう
ネットで「<プログラミング言語名> + コーディング規約」で検索してみましょう。
すると大手企業や有名どころの規約を見ることができます。
特に昔から使われているものや、多くの人が使用している言語であれば、精練された規約となっている可能性が高いです。
先人たちの知恵は楽して有効に使いましょう。
コーディングのパターンを身につけよう
現場でコーディング規約が資料化されていなかったとしても、他のコードを見ると、全体的に統一感があるはずです。
(なければここは読み飛ばしてください、そして別の現場へ行くことも検討してください、、)
いわゆる暗黙のルールというやつです。
最初のうちは一部のプログラムにしか携わらないため、なかなか気づきにくいかもしれません。
ある程度の経験を身につけたところで、他の人はどのように書いているのかを意識的に確認すると、少しずつ他のコードに倣った書き方が分かるようになります。
リーダブルコードを読み込もう
プログラマーの必読書、あるいはバイブルとも呼ばれている書籍が「リーダブルコード」です。
名前の通り、より良いコードを書くための方法が、実例をまじえて分かりやすく解説されています。
この本はプログラミング初心者が一から学ぶ場合には、はっきり言うとあまり役に立ちません。
しかし何度も書いている通り、ある程度経験を重ねるとこの本の内容がしっかりと頭に入ってきます。
その理由は、本の中で紹介される悪いコードの例が、見覚えがある、もしくは自分がやったことのあるパターンなので、「あーそういうことだったのか!」と冒頭のモヤモヤをすっきり納得させてくれるのです。
技術書も他人事で読むのか、自分事のように読むのかでは習得度合いも変わってきます。
さいごに
今回はコードの可読性と、その高め方について説明しました。
可読性が高いコードが書けるようになると、自身の技術力の向上とともに、現場の信頼度も高まります。
特に今回紹介した書籍は、多くのプログラマーが推奨する名著ですので、自己投資として持っておくことを強くオススメします。
皆さんのコードは受け継がれていきます。
後輩に見られても恥ずかしくない、リーダブルなコーディング技術をしっかりと磨いて一人前を目指しましょう!