A long parameter list can indicate that a new structure should be created to wrap the numerous parameters or that the function is doing too many things.
With a maximum number of 4 parameters:
public void doSomething(int param1, int param2, int param3, string param4, long param5)
{
// ...
}
public void doSomething(int param1, int param2, int param3, string param4)
{
// ...
}
public class BaseClass
{
public BaseClass(int param1)
{
// ...
}
}
public class DerivedClass : BaseClass
{
public DerivedClass(int param1, int param2, int param3, string param4, long param5) : base(param1) // Compliant, the parameters intended for the base class constructor do not count in the sum of the parameter list.
{
// ...
}
}