リーダブルコード:9章 変数と読みやすさ
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
- 購入: 68人 クリック: 1,802回
- この商品を含むブログ (104件) を見る
上記書籍をまとめと自分の考えを記載します。
不要な変数を削除する。
「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 がどのように変化するかずっと意識しなければなりませんが改善後はその必要はありません。