SSブログ

眠りたいSEの眠れないブログ

↑ フィード・ティッカーを使ってみましょう


サイクリングに関する内容は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++){
3:  Person currentPerson = MySystem.getUserInformation(userIndex);
4: String phoneNumber = currentPerson.getPhoneNumber();
                        :
n:} 


上記のような変数名を設定したら、currentPersonやphoneNumberはどういった情報が入っているだろうか。
容易に想像がつくはずである。
このように普段から少しの手間をかけ、変数名を適切にすることでソースの可読性は非常に高くなるはずである。

また、マジックナンバーを使わないことを心がけることも重要である。
マジックナンバーとは、プログラムのどこかに説明なしで使われている1,2,10,15等の数値リテラルのことである。
たとえば、以下のコードを見てほしい。

 

1:if( currentPerson().isAdult() == 0 ){
2:  System.out.println( message[10] );
3:}

ここで示されている0や10はどういった意味があるのだろうか。たとえば下記のように書いてみたらどうだろう。

1:if( currentPerson().isAdult() == false ){
2:  System.out.println( message[ err_not_a_voting_member ] );
3:} 

上記のように書かれていれば、大人でなければ投票できない旨のメッセージを表示する処理をしているということが容易に理解できるのではないだろうか。
他にも定数を使うと変更を確実に行うことができる等のメリットもでてくるので、マジックナンバーを使わずに適切な名称の変数を使うことが望ましいだろう。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。