[C#] Как трябва да действа един метод при подаден аргумент null?
Имаме следния код:
public string ShortenString(string input)
{
if (input == null)
{
throw new ArgumentException(nameof(input));
}
if (input.Length > Constants.MaxLength)
{
return input.Substring(0, Constants.MaxLength);
}
return input;
}
Както се вижда работата на този метод е да скъси до определена дължина даден стринг, който му е подаден. Въпросът е, че стрингът, който му се подава може да е null - тъй като това поле не е задължително. Въпросът е какво правим ако се подаде null?
Как е най-правилно -
1. Да оставим метода да хвърля ексепшън, когато се подаде null - както е в момента. Това означава, че трябва да се направи проверка дали подадения аргумент не е null във всички методи, които го викат. - тоест на много места един и същи код.
2. Вторият вариант е да правим проверка в самия метод за null и съответно, ако е null - може да връща празен стринг.
Спомням си това, което ни каза Наков - че един метод или трябва да свърши каквото имто му казва - или да хвърли ексепшън и съм малко раздвоена в случая.
Какъв би бил най-КПК подходът според вас в този случай?
Благодаря.