При всех видах программирования вы должны проводить различие между тем, что имеет смысл в реальном мире, и тем, что имеет значение для вашего программного решения.
То, как должны использоваться данные, будет определять, какой тип проверки требуется.
Например, если ваше программное обеспечение взаимодействует с правительственным API, а правительственный API требует имя и фамилию, вы должны сделать то же самое.
Если вы взаимодействуете с банковскими счетами, у вас может быть одна строка, представляющая имя учетной записи, которое может быть много, а может и не являться человеческим именем, но может иметь другие ограничения по длине.
Если имя используется только для целей отображения, возможно, нет никакого смысла захватывать имя вообще, и вместо этого вам следует захватить предпочтительное отображаемое имя (которое не обязательно предполагает определенное количество компонентов имени) .
При написании программного обеспечения вы должны стремиться сделать как можно меньше предположений, если только эти предположения не повлекут за собой усложнение вашего программного решения. Если программное обеспечение требует, чтобы у людей были непустые имена, вам следует подтвердить на границе, что это правда.
Кроме того, если бы вы были моим учеником, вы бы уже потеряли оценки за объединение нулей и пустую строку. В этом случае null будет означать, что вам не хватает данных об имени, а пустая строка будет означать, что пользователь указал, что его имя пусто.
Кроме того, если вы решили не подтверждать что-либо, вы должны по крайней мере оставить комментарий, чтобы указать, что вы подумали об этом. Если вы делаете что-то необычное, возможно, что будущий разработчик придет и исправит «ошибку». Кроме того, это поможет вам не потерять оценки.