第2部 ループとロジックの単純化 ~読みやすい変数~

コードが読みやすくならない変数を削除する

一度しか使っていない変数や、わざわざ作る必要のない中間変数。これらは変数にしなくてもコードは明確で読みやすいので削除すべき、とのこと。

確かに、変数が多いとコードが読みにくい。ただ、なんでもかんでも削除すればいいというわけではない。第2部 ループとロジックの単純化 ~巨大な条件式の分割~で理解した「説明変数・要約変数」は、一度しか使っていなくてもコードの読みやすさにつながっている。変数を削除する前に慎重に判断しないといけない。

後でまた使うだろうと思い変数にしたけど結局一度しか使わなかった、改修していく内に変数を使わなくなった、など変数が多くなる要因は様々だけど、結果的に、コードの見直しをしていないからだと思った。料理したら後片付けしてキレイにするのと同じように、コードを書いたらリファクタリングしてキレイにすることが大切だと感じた。

変数のスコープを出来る限り狭くする

予期せぬ書き換えや使われ方をされないよう、変数のスコープは必要な範囲にとどめるべき、とのこと。どこでどう使われているか把握するのが難しいという理由もあるが、IDEによっては参照されている箇所を一覧で表示する機能があったりするので一概には言えない。

これは納得できる内容だった。スコープを広くすることのメリットが見当たらない。

自分がプログラミングを始めた頃に作ったプログラムは変数をメソッドの先頭でまとめて定義することが多かった。これは、初めて学習した言語がCOBOLでデータ定義を最初に行う必要があったため、癖になっていた。当時コードを読んだ人はさぞかし読みにくかったことだろう。。。

変数は一度だけ書き込む

変数に何度も書き込みがあると現在の値を把握するのが難しいため、変数は一度だけ書き込むべき、とのこと。

ほとんどのケースは変数への書き込みは1回しかないと思う。過去を思い返しても、2回以上書き込んだ記憶はない。どんなケースなら2回以上書き込まないといけないのか気になる。。。きっと、ロジックにムダがあるから2回以上書き込むことになるんだと思う。

この記事が気に入ったらサポートをしてみませんか?