|
|
|
|
|
by continuational
3523 days ago
|
|
The first example is code duplication, and almost every line is suspecious. var listOfGoodFoos = new List<Foo>(); // is listOfGoodFoos a good name?
for(var i = 0; i< listOfAllFoos.Count; i++) // is the loop condition correct?
{
if(listOfAllFoos[i].IsGood) -- the only interesting line is burried in here
listOfGoodFoos.Add(listOfAllFoos[i]); -- is i the right index variable? (vs. j, k, n, especially in nested loops)
}
return listOfGoodFoos;
The second example is obviously correct, and highlights the condition.A quote from Tony Hoare comes to mind: There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. |
|