Здравствуйте, __kot2, Вы писали:
__>правда, мне непонятно что делает эта ф-ия. упрощает выражения? обьясните на пальцах, пожалста
Это типа визитора, только без создания сотен классов.
__>я конечно могу дать общие рекомендации вынести конкретные случаи в отдельные блоки, чтобы не наступить на типичную ошибку с пролетанием в соседний блок и то, что везде по 100 раз скопипасчено
Убрал. Но 10 строк всё равно не получилось. Как же так?
__>но я думаю, вы и сами в курсе этого
В курсе чего?
__>есть очень простой тест на качество архитектуры кода. когда вы добавляете новую сущность, сколько разных мест вам придется поправить? 1 — отлично. 2 — нормально. больше — плохо. то, что вам при добавлении нового вида expression нужно будет править transform, помимо, я так понимаю, еще десятка других мест явно намекает на непродуманность архитектуры
Последний коммит именно это и делает. Добавилась обработка ещё трёх десятков типов выражений. Поменялось только одно место, т.е. это хорошая архитектура. Не спорю.
Теперь всё же мне хочется получить ответ на предыдущий вопрос. Есть
метод с хорошей архитектурой, который после устранения копипасты и добавления новых типов выражений составляет 250 строк. Как из него сделать хотя бы строк 10?