プログラミングの学び方(6) – 読みやすいコードとは?
前回は、プログラミングの学び方(5)で、実際にプログラムを書く際に、知っておいたほうがよいポイントと原則論についてお伝えした。
今回は、実際にプログラムを書く際に重要な、「読みやすいソースコードの書き方」についてお伝えする。
読みやすいコード1:統一性
ソースコードが読みやすいといわれるプログラマの共通点の1つに、「統一性」がある。
例えば、
- 変数名や関数名、クラス名の命名規則が統一化されている
- 関数の組み立て方、処理のフローの組み立て方が統一化されている
と言った形で、読み手からした際に、読み進めていく中で変数名や関数名からある程度処理の内容を類推できるのが、読みやすいコードと言える。
特に変数においては、
$testForPrice = 1; // 価格に関するテストだと分かる。
のように、ぱっと見で何の変数だかわからないと、長い関数になればなるほどその変数の値の動きを追うのに、非常に労力を要してしまう。
できるだけ、読み手がその処理を類推しやすいように、ソースコードには「統一性」を持たせたほうが良い。
(あとで自分自身が読み返した時にも読みやすくなるので、修正しやすいという利点もある)
読みやすいコード2:変数を使う範囲(スコープ)をできるだけ縮める
次に、変数の使い方で重要なのが、
ということだ。もっとかみ砕いていうと、変数の出現箇所をできるだけ減らして、数行追うだけで変数の動きがわかるようにするとよい。
特にJavascriptやPHPのグローバル変数は要注意だ。
グローバル変数は、一見便利に見えるが、変数の中身がいつ書き換えられるか読みずらいので、下手に変数に値を入れてしまうと、想定外の動きを生んでしまうことがある。
Wordpressの様にグローバル変数を多用しているパッケージをカスタマイズする場合は、できるだけグローバル変数に触らないほうが良いだろう笑
読みやすいコード3:変数は一度だけ書き込む
さらに、変数の取り扱いに関してのベストプラクティスの1つは、
ということだ。逆に言えば、変数に何度も値を入れない、と読み替えることもできる。
例えば、
echo $hoge;
$hoge = getHoge(2);
echo $hoge;
$hoge = getHoge(3);
echo $hoge;
$hoge = getHoge(4);
echo $hoge;
$hoge = getHoge(5);
echo $hoge;
と言ったように、一度宣言した変数を、型や種類が一緒だからといって何度も使うのはできるだけ避けるべきだ。
先ほどのグローバル変数と同じように、変数の中身がいつ書き換えられるか読みずらいからだ。
最後に
ここまで、読みやすいコードについて解説してきた。実際に読みやすいコードを書けるようになるには、何度も書いてソースレビューをしてもらい、徐々にうまくなっていくしかない。
これからプログラマを目指す方やプログラミングスキルを上達させたい人は、ぜひ上記のことを思い返しながら、実際に手を動かしてプログラミングすることをおすすめする。