> Можно создавать объект пустым и заполнять его. Однако некоторые варианты заполнения могут оставлять объект в несогласованном состоянии. Стоит ли это разрешать?
Создаёшь пустым и заполняешь сколь угодно грязно и несогласовано не сам объект, а его builder или configuration. Проверку предусловий и инвариантов делаешь при создании целевого объекта в методе `Create()` строителя.
> проблемы синтаксического разбора - должен ли я бросать исключение
Исключения не нужны, по крайней мере не сразу в процесе разбора. Встретил ошибку при разборе, положил её в списочек ошибок, восстановился и пошёл разбирать дальше.
RE: Правило пятиkodt_rsdnOctober 19 2017, 11:26:28 UTC
Это мне напомнило мою первую курсовую работу, смысл которой был продемонстрировать умение писать ЕСПД. А там для каждой отдельной сущности отдельная страничка. Поэтому я даже процедуры нафиг выкинул, сделав мега-программу на мега-вложенных циклах.
Да; буква «S» в аббревиатуре SOLID.
> Можно создавать объект пустым и заполнять его. Однако некоторые варианты заполнения могут оставлять объект в несогласованном состоянии. Стоит ли это разрешать?
Создаёшь пустым и заполняешь сколь угодно грязно и несогласовано не сам объект, а его builder или configuration. Проверку предусловий и инвариантов делаешь при создании целевого объекта в методе `Create()` строителя.
> проблемы синтаксического разбора - должен ли я бросать исключение
Исключения не нужны, по крайней мере не сразу в процесе разбора. Встретил ошибку при разборе, положил её в списочек ошибок, восстановился и пошёл разбирать дальше.
Reply
Не люблю я ООП, очень не люблю.
Reply
Тут от языка сильно зависит. C++, конечно, требует лишних церемоний и принятия многих решений, прежде чем до функционала доберёшься: правило пяти, swap, pimpl, etc.
Reply
Reply
Да, я это и имел в виду.
Reply
Я на процедурах лучше напишу, право слово.
Reply
А там для каждой отдельной сущности отдельная страничка.
Поэтому я даже процедуры нафиг выкинул, сделав мега-программу на мега-вложенных циклах.
Reply
Reply
Reply
Так вот откуда пошли разговоры о прыщавых байтогрызахъ.
Reply
Leave a comment