プログラミングとデザイン、スタートアップの話

プログラミングやデザイン、スタートアップ関連についての雑記

【3分でわかる】プログラミング初心者必読の『リーダブルコード』ざっくりまとめ

f:id:harv-tech:20180825163238j:plain

プログラミング初心者からステップアップするためのバイブル『リーダブルコード』をざっくり紹介しましょう。

この本はプログラマーとして働いている人ならほぼ全員が読んだことあると言っても過言ではない、プログラマーの必読書です。

どんな人が読んだらいいかというと

  • Progateやプログラミングスクールで教材を1周終わってオリジナルアプリを作る人
  • プログラマー1年目の人

は必ず読んで、先輩たちに「ひどいコードだな...」と言われないようにしましょう。

この本を読めば、綺麗なコードを書くコツを掴むことができます。

読みやすいコードを書く心がけをする

f:id:harv-tech:20180825162109j:plain

難しいコードを自分にしかわからないような書き方で実装する事は全くクールではない。あまり使わないようなメソッドや文法を使用し、自分の知識をひけらかすようなコードもクールではない。いかにコードを短くするのかということも本質からはずれている。

リーダブルコードでまず最初に言及されることが『いかに(他人が)読みやすいコードを書くか』である。

例えば、コードをリファクタする際に冗長なコードを綺麗にするためにドンドン短くしていくときに、「コードの短さ」と「理解しやすさ」のバランスを考えてリファクタしなければいけない。「理解しやすさ」とは言い換えれば「他人がそのコードを理解するのに要する時間の短さ」である。

コードが短くなったとしても、それによって他人がそのコードを理解するのに以前より時間が掛かってしまってはそれはリーダブルコードとは呼べない。他人がコードを理解するための時間が最も短くなるコードが良いコードと言える。

命名の重要性

f:id:harv-tech:20180825162129j:plain

プログラムを組んでいると、あらゆるタイミングで命名をする場面に出会う。変数やメソッド名、クラス名、ファイル名など全てだ。

この時に安直に命名をすることはプログラマーとしての質が低いことを示してしまうようなものだ。命名には最新の注意を払い、最も適切な名前をつけないといけない。

最も適切な名前とは「その名前から内容が理解できる」ものだ。メソッドの名前を読んだだけでそのメソッドの処理が用意に想像できるものがベストだ。メソッド名や変数名を短くすることよりも、処理の内容が想像できることの優先度の方が圧倒的に高い。

そのためには適切な英語を使う必要がある。難しい英語を使う必要はないので、下記のような記事でまずは基本的な(プログラミングでよく使われる)英語を覚えておくのがよい。

qiita.com

使用するワーディングのルールを作る

f:id:harv-tech:20180825162231j:plain

1つのプロジェクトの中で同様の意味を表す言葉に表記ゆれがあると理解するのに適しているとは言えない。例えば、「全て」という意味を含む場合は「every」や「whole」を使うのではなく「all」で統一する、とかだ。

こういったワーディングルールを構築することで一気にコードの可読性は上がり、理解しやすいコードになる。

見た目にも気を配る

f:id:harv-tech:20180825162145j:plain

初心者プログラマーが陥りがちなミスが「インデントを気にしないこと」だ。びっくりするくらいインデントを揃えない。

確かにインデントを揃えなくても問題なく動く言語だと、インデントの重要性には最初は気づかないかもしれない。しかし、これからはインデントは揃えよう。インデントがないコードは、例えて言うなら改行も段落も全くない本のようなものだ。

また、関連するコードはブロックとして切り分け(改行スペースなどを上手く使って)、読みやすくする。似ているコードも似ていることが認識できるように1箇所にまとめる。

このようにレイアウトに気を配ることはプログラミングそのものの技術ではないため、すぐに実行に移せる。

必要ならコメントを上手く使う

コメントを使うかどうかはチームの方針による所がおおいが、『リーダブルコード』ではコメントを上手に使うことを推奨している。

いくら命名を最適化し、ワーディングとしても適切なものを用いたとしても処理が複雑な場合、コードも複雑になってしまう場合がある。そんなときには「コメント」を上手く使って他のメンバーが理解できるようにしよう。

コメントは、コードから読み取れることではなく、他のメンバーがあなたのコードを読んだ時に抱くであろう疑問を先回りして書いておくためのものだ。

おわりに

重要な部分をピックアップして紹介しましたが、書籍では実例と合わせて各トピックを紹介してくれています。

プログラミングの勉強の間に少しずつ読んで、綺麗なコードを書けるようにしましょう。

あなたにオススメの記事

harv-tech.hatenablog.com

harv-tech.hatenablog.com