メソッドがデータの取得などのアクションを一定回数実行する必要があることがわかっている場合、必要な回数だけこれを実行するコードを作成する必要がありますか、それともコードで後で変更を予測できるようにする必要がありますか? たとえば、辞書から 2 つの値を取得するメソッドを作成し (ここでは設定と呼びます)、提供されている既知のキーを使用してそれらを返すように言われたとします。
public Dictionary<string, string> GetSettings()
{
const string keyA = "address"; //I understand 'magic strings' are bad, bear with me
const string keyB = "time"
Dictionary<string, string> retrievedSettings = new Dictionary<string,string>();
//should I add the keys to a list and then iterate through the list?
List<string> listOfKeys = new List<string>(){keyA, keyB};
foreach( string key in listOfKeys)
{
if(Settings.ContainsKey(key)
{
string value = Setting[key];
retrieveSettings.Add(key, value);
}
}
//or should I just get the two values directly from the dictionary like so
if(Settings.ContainsKey(keyA)
{
retrievedSettings.Add(keyA , Setting[keyA]);
}
if(Settings.Contains(keyB)
{
retrievedSettings.Add(keyB , Setting[keyB]);
}
return retrievedSettings
}
私が質問する理由は、コードの繰り返しは常に悪いこと、つまり DRY であるためですが、同時に、より経験豊富なプログラマーは、アクションを実行するだけでよいのであれば、より大きなループを予測するロジックを書く必要はないと言っていました。既知の回数