(provisional)

データサイエンティストになるためのあれこれ

【100回読み】リーダブルコード(#002)

どうも!
ryotaです!

「リーダブルコード」の100回読み、本日は2回目です!

今日、仕事でコーディングをしているときにリーダブルコードで学んだことを意識しながら書いてみました。
特に意識をしたのが、

  • 1. 文字を揃えて見やすくすること
  • 2. 式をわかりやすく分割すること

の3つです。


1つ目の「文字を揃えて見やすくすること」ですが、
例えば

・りんごの価格は100円
・みかんの価格は150円
・バナナの価格は200円

を変数を使って表現したいとします。

C#ですと

int apple_price = 100;
int orange_price = 150;
int banana_price = 200;

という書き方ですね。

それぞれの式を見てみると、変数の文字数が違うため、
"="から後ろの文字が、ズレていることがわかるかと思います。

まぁこれぐらいのズレ具合ですとそのままでもいいかもしれませんが、

int apple_price = 100;
int orange_price = 150;
int banana_price = 200;
int grapefruit_price = 250;

みたいに少し長い変数が入ってきてしまうと、
パッと見たときに見にくくなってしまうんですよね。

そこで、

int apple_price       = 100;
int orange_price      = 150;
int banana_price      = 200;
int grapefruit_price  = 250;

と縦を揃えることで、パッと見たときの見やすさが変わりますね。

ちなみに、ブログなので若干ズレてますが、
エディタだときっちり揃いますのでぜひ試してみてください。


次に、2つ目の「式をわかりやすく分割すること」です。

今までは「行数は少ない方がいい」と考えてコーディングをしていましたが、
リーダブルコードでは「行数が多いか少ないかよりも、理解しやすいかどうかの方が大切」という考え方があります。

例えば、

if ( fruits_price_list[0].ToString() == 100)

と条件式を書くこともできますが、
よりわかりやすくするなら

string fruit_price = fruits_price_list[0].ToString();
if ( fruit_price == 100)

とすることによって、条件式を見たときに感覚的にどのような条件なのかを把握することができます。

行数としては2行になってしまいますが、
「フルーツの価格が100円だったら」
と、英語を日本語に翻訳する感覚に近い状態でコードを読めるようになっていますよね。

こうした工夫をすることで、
他人が見ても理解しやすいコーディングができる、ということです。

このように、今日は
「感覚的にどうわかりやすくするのか」
ということを意識してみました!

ぜひ参考にしてみてください^^