How to write better?
public void Foo(bool isStart) {
// Code [Common]
if (is Start) {
// Code [Start]
} else {
// Code [End]
}
// Code [Common]
}
or
public enum MyEnum {
Start, End
}
public void Foo(MyEnum param) {
// Code [Common]
switch (param) {
case MyEnum.Start:
// Code [Start]
break;
case MyEnum.End:
// Code [End]
break;
}
// Code [Common]
}
Update: I’m looking for a small solution. “Common”, “Start” and “End” parts are very short, I do not want to split Foo into several methods.
How about:
Methods that have a single responsibility are easier to read, easier to understand and easier to maintain.