良いコードを目指して ~変数の使い方~
少しずつ寒さが和らいで、時の流れを感じますね_(:3 」∠)_
今回は、変数の使い方について注目していきたいと思います!
変数も使い方次第で”良いコード”、つまり他人から見て読みやすいコードの大きな要素になると言われています。
私自身、この内容については普段できていない部分も多かったので、戒めも込めてアウトプットしていきます。笑
わかりにくい処理や、使い回す処理は変数に収める
コードを読み書きしていく中で、必ず複雑な処理は登場します。
そういった処理を変数に収めることで、コードの可読性はかなり上がります!
実例を書いていきます。
if(inputStr.trim().split('-')[0] == '012' ){ //処理 }
上記の例では、入力した文字列をtrimして、ハイフン分割して・・・と条件判断する前に色々と考えなければいけません。
更に複雑な処理の場合はなお読みにくいでしょう。
こういった場合に、変数にその処理を入れてあげるのです!(説明変数とかいうらしいです)
String userPreviousNumber = inputStr.trim().split('-')[0]; if(userPreviousNumber == '012'){ //処理 }
どうでしょうか、比較してみると後者のほうが読みやすく感じるのではないでしょうか!
更に後者の場合は同じ処理が必要になった場合に使い回しができます。
また使い回した場合、修正部分が1箇所のみになるのでコードの保守性も上がるでしょう。
処理が複雑に感じたり、使い回す場合については変数に入れて読みやすくすることが良いでしょう!
不要な変数は使用しない
先ほど、複雑な処理は変数に収めたりすると良いと書きましたが、度を超えてしまうとコードは読みにくくなります。
例えばAからB、BからCへ値を入れている処理では、変数Bは全くもって必要ありません。
そもそも最初に上記のようなコードを書くことはまず無いと思いますが、コードを書いて、修正していく中で発生してしまうことも有りえるでしょう。
変数に限った話ではありませんが、コードを一通り書き終えたら無駄な変数が存在しないか確認すると良いでしょう!
スコープを意識する
変数のスコープは必ず意識するようにしましょう。
変数宣言時にこの変数はどこで使うのか、どこまで見えているべきなのか、ということを考えることはとても大切です。
スコープが意識されていない(必要のない箇所からも読み書き可能である)と、主に使っている箇所以外でももしかしたら値を参照/編集している可能性があると意識しながら読まなければいけません。
また、逆に名前のバッティングなどに気づかずコードを書いてしまい、予期せぬ不具合を生んでしまう可能性もあります。
スコープを必要最低限にすることで、読み手側への負担も減ります。
ローカル変数などは、まずは小さい範囲で宣言し、必要な場合に応じてスコープを広げていくのが適切でしょう。
変数は、設計書などにも明確に記載されている場合は少ないと思います。
そのため、良くも悪くもコードを書くエンジニアによってある程度自由に使用できるでしょう。
コードが動くことだけでなく、後の事を考えて良いコードを書くために、変数というものに今一度着目してみてください!!
これからは少しpythonの記事書いていこうかなと思います。