このブログについて
最近システム設計に興味を持ち、特にコード設計について学んだことをまとめます。
自分の今後の戒めも込めて。
結果を返すために引数を使わないことについて
メソッドが引数を通じて結果を書き換えると、データの流れが不透明になり、理解が困難になります。
呼び出し側から見ると、何が変更されるのかが明確ではなく、副作用により意図しない変更が起こる危険もあります。
悪いコード例
void GetUserInfo(User user)
{
user.Name = "Taro";
user.Email = "taro@example.com";
}
良いコード例
User GetUserInfo()
{
return new User("Taro", "taro@example.com");
}