Здравствуйте, Doc, Вы писали:
Doc>Здравствуйте, Poopy Joe, Вы писали:
Doc>Ну если так параноить, то что помешает в LegHeight записать размер ноги?
Тип и помешает. Если ты имел ввиду что мне помешает записать в LegHeight неверные данные по видом размера? То ответ — ничего, конечно. Как можно программисту помешать намеренно что-то сделать?! Речь о том, что программисту типы помогают не совершать ошибки.
Doc>Ну да, чем больше классов тем проще жить? Даешь Hello World из 100500 классов Как там "wow: Здорово, чо."
Да что значит больше/меньше? Откуда вообще это взялось? Ну давай все запихаем в один класс, так нормально будет?
Doc>Сравнивай не с константой. Да и мне кажется что опять начинаешь мешать контракты и бизнес-логику.
Почему? Это константа и есть.
Doc>И как у нас конструктор вернет ошибку? Или мы еще и factory с возвратом ошибок замутим?
Ну в примере выкинет исключение, но там это скорее перестраховка, а в обычном случае можно использовать статический метод и вернуть тип Either<Adult<Age>, Error>.
Doc>Ну во первых не в случайном месте, а вполне в конкретном.
С точки зрения перехватывающего метода — с случайном. Можно конечно на каждую операцию писать try/catch, но кто это будет читать потом?
Doc>Далее, в метод, где не может быть возраст меньше заданного пролез такой возраст.
Что значит "пролез"? Как он туда может пролезть?