RSS The Daily WTF

КодСОД: Да, Нет, Нет Нет Нет Нет Нет

Код определяет функции для преобразования между булевыми значениями и пользовательским типом "YesNoType", который по сути представляет булево значение, хранящееся как строка. Функция "toYesNo(String)" сопоставляет "Y" со значением "Yes" и все остальные значения - со значением "No", что вводит потенциальную несовместимость, поскольку она всегда возвращает "Yes", независимо от входной строки. Функция "toYesNo(boolean)" не может напрямую создать "YesNoType" из булевого значения, что считается недостатком. Функция "fromYesNo(YesNoType)" проверяет, соответствует ли "YesNoType" значению "Yes" (без учета регистра) и возвращает "Yes" соответственно. Функция "isYesNo(YesNoType)" преобразует "YesNoType" в булево значение, но излишне объявляет локальную переменную и могла бы быть упрощена. Зависимость кода от пользовательского типа "YesNoType" вместо использования булевых значений считается сомнительным дизайном. Функция "toYesNo(String)" позволяет задать "YesNoType" со значением "Y", но всегда возвращает "Yes", создавая несовместимые значения. Функция "toYesNo(boolean)" не может создать "YesNoType" напрямую из булевого значения, что является значительным недостатком. Функция "fromYesNo(YesNoType)" кажется ненужной с надлежащим дизайном. В целом, использование "YesNoType" как строкового представления булевых значений в коде считается плохим дизайном.
favicon
thedailywtf.com
CodeSOD: Yes, No, NO NO NO NO