良いコードとチーム開発

では、自分以外がコードを理解できているのはどんな状態でしょうか。単に「読めればいい」というわけではありません。

「コードを理解する」というのは、変更を加えたりバグを見つけたりできるという意味だ。他のコードと連携する方法も理解しておかなければいけない。
『リーダブルコード』p.3より

チーム開発では他人が書いたコードを改修することも多く、ソフトウェアは全体が連携して動作します。ですので、手を加えられる状態であることが重要と言えるでしょう。

事業の継続性に関わる
これは私の考えですが、コードの質と事業の継続性には深い関係があると思います。

開発が進むにつれてコード量は増大してきます。うまくコントロールしないと扱いづらくなり、プロダクトの開発スピードが低下します。ちょっとした機能追加に多くの時間がかかってしまい、実装する頃には競合サービスに追い抜かれてしまうかもしれません。

本書でも以下のように述べられています。

プロジェクトは巨大になって、すべてを把握できる人は誰もいなくなる。新しい機能を追加するのが苦痛になってくる。コードを扱うのが厄介になって楽しくなくなる。
(中略)
プロジェクトが成長しても、コードをできるだけ小さく軽量に維持するしかない。
『リーダブルコード』p.171より

事業を継続し、プロダクトの成長を持続させるためには、本書で言われているように、できるだけ小さく軽量な、良いコードが必要なのではないでしょうか。
ここからは本の中で取り上げられている理解しやすいコードを書くためのポイントと実際の例をいくつか紹介します。代表的なテクニックを見ていきましょう。

変数と理解しやすさ
まずは変数を取り上げます。すぐに取り組める内容なので、初めにやってみるといいでしょう。
変数名に具体的な情報を込める

変数名にどんな英単語を使うべきか悩むケースは少なくないはず。本書では使う単語を工夫し、分かりやすい名称にするコツを紹介しています。

例えば、「get」はあまり明確な単語ではない。
def GetPage(url);
「get」という単語からは何も伝わってこない。このメソッドはページをどこから取ってくるのだろう? ローカルキャッシュから? データベースから? インターネットから? インターネットから取ってくるのであれば、FetchPage()やDownloadPage()のほうが明確だ。
『リーダブルコード』p.10-11より

意味がはっきり通る単語を変数名に使うだけで、コードを読む人へのメッセージになるのです。
https://employment.en-japan.com/engineerhub/entry/2017/09/26/110000