サイクリングに関する内容はHiloker.netに移動しました。(古いものは、Hiroのサイクリング&写真記録庫)
よろしければどうぞ。
ソフトウェア工学について その3(2) 変数名について [ソフトウェア工学的な話]
前回の話とにているが、今回は変数について触れてみたい。
よく、経験の浅いプログラマは一時的な変数を作るときにA,Bやi,jなどの変数を使う事がある。
昔はメモリが小さいことなどから言語のコンパイラやインタプリタの仕様で変数が2~3文字しか使えない処理系等があったので致し方ないこともあったが、現代においてはこのような制約はないため、これらの1~数文字の意味のわからない変数名は使うべきではないと思う。
たとえ、1回しか利用しないようなその場限りの変数であっても変数名を適切に設定することでドキュメント性を向上することができるからである。
以下に例を示す。
1:int numberOfUser = MySystem.getNumberOfUser(); 2:for (int userIndex = 0;userIndex < numberOfUser;userIndex++){ |
上記のような変数名を設定したら、currentPersonやphoneNumberはどういった情報が入っているだろうか。
容易に想像がつくはずである。
このように普段から少しの手間をかけ、変数名を適切にすることでソースの可読性は非常に高くなるはずである。
また、マジックナンバーを使わないことを心がけることも重要である。
マジックナンバーとは、プログラムのどこかに説明なしで使われている1,2,10,15等の数値リテラルのことである。
たとえば、以下のコードを見てほしい。
1:if( currentPerson().isAdult() == 0 ){ |
ここで示されている0や10はどういった意味があるのだろうか。たとえば下記のように書いてみたらどうだろう。
1:if( currentPerson().isAdult() == false ){ 2: System.out.println( message[ err_not_a_voting_member ] ); 3:} |
上記のように書かれていれば、大人でなければ投票できない旨のメッセージを表示する処理をしているということが容易に理解できるのではないだろうか。
他にも定数を使うと変更を確実に行うことができる等のメリットもでてくるので、マジックナンバーを使わずに適切な名称の変数を使うことが望ましいだろう。
コメント 0