汎用的な名前の変数は作らないようにする
最初に
本記事は、私がリーダブルコードを読んで学んだことをメモしているものです。
もし、理解が足りていない部分がありましたら、ご指摘いただけると嬉しいです。
汎用的な名前とは?
- 「tmp」・「retval」・「foo」のような単語単体で見ても大まかな意味しかわからない or 大まかな意味もわからない名前
public int GetCount(string value)
{
// これは戻り値という情報しか入っていない
var retval = 0;
retval = value.Length;
return retval;
}
どうすればいいか
- 変数の「目的」や「値」を示す名前をつける
public int GetCount(string value)
{
// この変数はなにをカウントしているのかが変数名のみで判断できる
var valueCount = 0;
valueCount = value.Length;
return valueCount;
}
汎用的な名前を使わない場合の利点
- 変数の目的を事前に伝えることができる
- 目的、値の名前を持っている変数が違う使われ方( バグ )をされていた場合にすぐに気付くことができる
汎用的な名前でもうまく使っえば使える
例 : 2つの変数を入れ替える
if(right < left)
{
tmp = right;
right = left;
left = tmp;
}
- この場合の「tmp」変数の目的は、一時的な変数の保存かつ、生存期間が数行のみなので「tmp」という、「この変数には他に役割がない」と明示している変数名は理にかなっている
public int GetCount(string value)
{
// これは戻り値という情報しか入っていない
var retval = 0;
retval = value.Length;
return retval;
}
public int GetCount(string value)
{
// この変数はなにをカウントしているのかが変数名のみで判断できる
var valueCount = 0;
valueCount = value.Length;
return valueCount;
}
例 : 2つの変数を入れ替える
if(right < left)
{
tmp = right;
right = left;
left = tmp;
}
- この場合の「tmp」変数の目的は、一時的な変数の保存かつ、生存期間が数行のみなので「tmp」という、「この変数には他に役割がない」と明示している変数名は理にかなっている
Author And Source
この問題について(汎用的な名前の変数は作らないようにする), 我々は、より多くの情報をここで見つけました https://qiita.com/D4ik1/items/c900655c2f4acc1972c9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .