読者です 読者をやめる 読者になる 読者になる

リーダブルコード:9章 変数と読みやすさ

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

上記書籍をまとめと自分の考えを記載します。

 

不要な変数を削除する。

8章 巨大な式を分割する」で、「説明変数」について紹介しましたが、コードが読みやすくならない一時変数や中間結果は削除しましょう。

以下のコードの today 変数は不要です。

var today = DateTime.Now
view_date = today.to_s

変数のスコープはできるだけ狭くする。

グローバル変数を避けたほうが良いとの考え方と同様にクラス・メッソド内での変数のスコープも出来るだけ狭くしましょう。

例を以下に示します。

◆改善前

public string GetUserName(string id)
{
var userName = string.empty;
var user = GetUser(id);
if(user.LastName != null)
{
userName = user.LastName;
}
else if(user.FirstName != null)
{
userName = user.FirstName;
}
else
{
userName = "ユーザーID:" + id;
}
return userName
}

 ◆改善後

public string GetUserName(string id)
{
var user = GetUser(id);
if(user.LastName != null)
{
return user.LastName;
}
else if(user.FirstName != null)
{
return user.FirstName;
}
else
{
return "ユーザーID:" + id;
}
}

非常に簡単な例ですが、改善前は userName がどのように変化するかずっと意識しなければなりませんが改善後はその必要はありません。