Tip: Continuously improve the codebase by refactoring it to remove unnecessary complexity and improve clarity.
public void ProcessOrders(List orders)
{
foreach (var order in orders)
{
if (order.Status == OrderStatus.New)
{
ProcessNewOrder(order);
}
else if (order.Status == OrderStatus.Processing)
{
ProcessProcessingOrder(order);
}
else if (order.Status == OrderStatus.Completed)
{
ProcessCompletedOrder(order);
}
}
}
public void ProcessOrders(List orders)
{
foreach (var order in orders)
{
ProcessOrder(order);
}
}
private void ProcessOrder(Order order)
{
switch (order.Status)
{
case OrderStatus.New:
ProcessNewOrder(order);
break;
case OrderStatus.Processing:
ProcessProcessingOrder(order);
break;
case OrderStatus.Completed:
ProcessCompletedOrder(order);
break;
default:
throw new InvalidOperationException("Unknown order status");
}
}