Clean Code book には、ベスト プラクティスは、引数を渡されない関数を使用することであるという意見があります。だから私の質問は、お互いに引数を渡す関数、または静的オブジェクトを共有して操作する void 関数を操作するのがより理にかなっているのですか?
例:
オプション1。
public List<MyThing> FunctionA(List <MyThing> myThings){
myThings.Add(SomeBlah);
return myThings;
}
public void FunctionB(){
List<MyThing> myThings = new List<MyThing>();
myThings = InitiateThingsOrWhatever();
List<MyThing> myChangedThings = FunctionA(myThings);
}
オプション 2:
private static List<MyThing> _myThings = new List<MyThing>();
public static List<MyThing> MyThings{
get { return _myThing; }
set { _myThing = value; }
}
public void SomeFunction(){
FunctionA();
FunctionB();
}
public void FunctionA(){
MyThings = YadaYadaStuff();
}
public void FunctionB(){
var showMyChangedThings = MyThings;
}