У меня как раз есть опыт работы на проектах, где конечные автоматы использовались и как можно было бы сделать относительно нормально, но в виду что компания большая, то на мнение разработчиков начальству насрать.
Относительно конечных автоматов я сделал для себя выводы, что их нужно писать один раз, формально верифицировать и забывать о них навсегда, когда они прошли формальную верификацию.
Если код с конечными автоматами регулярно меняют, то лучше перейти на что-то более легкое в поддержке и расширении.
При росте кол-ва состояний переходить на иерархические конечные автоматы, или поведенческие деревья.
При росте сложности упаковывать в компоненты, а компоненты в модули с четко определенными интерфейсами/API
no subject
Date: 2024-01-13 08:25 pm (UTC)Относительно конечных автоматов я сделал для себя выводы, что их нужно писать один раз, формально верифицировать и забывать о них навсегда, когда они прошли формальную верификацию.
Если код с конечными автоматами регулярно меняют, то лучше перейти на что-то более легкое в поддержке и расширении.
При росте кол-ва состояний переходить на иерархические конечные автоматы, или поведенческие деревья.
При росте сложности упаковывать в компоненты, а компоненты в модули с четко определенными интерфейсами/API