Где вы проверяете, является ли объект, который вы передаете методу, нулевым или нет?
Следует ли тестировать объект перед вызовом метода? или внутри метода, который использует аргумент?
public class Program
{
public static void Main(string[] args)
{
// Check if person is null here? or within PrintAge?
PrintAge(new Person { Age = 1 });
}
private static void PrintAge(Person person)
{
// check if person is null here?
Console.WriteLine("Age = {0}", person.Age);
}
}
public class Person
{
public int Age { get; set; }
}
Наличие "нулевой" проверки в обоих классах кажется слишком избыточным.
[ИЗМЕНИТЬ]. Что было бы ошибкой в проверке нуля в вызывающем или вызываемом абоненте?
[EDIT2]: я просто столкнулся с Defensive Programming и кажется, что он защищает проверку нулевого номера в пределах вызываемого абонента, Интересно, является ли это общепринятой практикой.