Больше переменных для более читабельного IF / условного? - PullRequest
0 голосов
/ 05 октября 2018

Вопрос: Лучше ли иметь больше переменных, чтобы условное выражение было «более читабельным», или лучше иметь меньше переменных, но сложнее читать условное?

Iпрочитайте это, которое говорит меньше переменных.Я думаю, что их решения выглядят МЕНЬШЕ читаемыми (https://techbeacon.com/why-unnecessary-variables-are-bad-your-code). Хотя этот SO звучит немного иначе: Ввод переменных только для удобства чтения?

Пример:

У меня есть следующее утверждение:

if ((memberIDandLNIsValid) || (memberIDandDOBIsValid && memberDOBFormatIsValid))

Чтобы получить memberIDandLNIsValid У меня есть:

if (!string.IsNullOrEmpty(Search_MemberID) && !string.IsNullOrEmpty(Search_MemberLastName))

Обратите внимание, что Search_MemberID и Search_MemberLastName являются двумя отдельными переменными.Я думал, что было легче читать, чтобы иметь комбинированную переменную.Но мне сказали, что в моем коде слишком много переменных.

Полагаю, решение состоит в том, чтобы просто оставить это как:

if( (Search_MemberID && Search_MemberLastName) || ((Search_MemberID && Search_DOB) && memberDOBFormatIsValid) )

Для меня это условие НАМНОГО меньшетеперь читабельно.

Мысли?

1 Ответ

0 голосов
/ 05 октября 2018

Я думаю, что все в порядке, но одна из техник, которую вы можете использовать, - это рефакторинг ваших логических выражений для методов с более читаемыми именами.

(Search_MemberID && Search_MemberLastName)|| ((Search_MemberID && Search_DOB)

становится:

SearchMemberHasIdAndLastName() || SearchMemberHasIdAndDOB()

Вам не нужно делать это здесь, но это техника, которую нужно держать в голове.

...