Разве плохо моделировать пользовательский веб-элемент управления как конечный автомат? - PullRequest
2 голосов
/ 06 августа 2009

Мы разрабатываем пользовательский веб-элемент управления, который делает разные вещи. Он получает события изнутри или снаружи, и реакция на эти события зависит от состояния этого элемента управления.

Мы думаем о моделировании как о машине состояний, но мы думаем, что это может быть слишком вызывающим или трудным для кого-то другого, чтобы понять. Как вы думаете, это правда?

Ответы [ 4 ]

4 голосов
/ 07 августа 2009

Если вы можете смоделировать поток управления вашего приложения как конечный автомат, то IMO вам следует . Как уже говорили другие, конечные автоматы довольно легко визуализировать в форме блок-схемы. Однако, что более важно, наличие конечного автомата в качестве модели значительно упрощает проверку правильности вашего кода, поскольку вы можете подтвердить, что код охватывает каждое состояние и каждый переход между состояниями.

Код, написанный для микроконтроллеров, часто разрабатывается и реализуется с использованием этого подхода именно по этой причине.

Имея риск спровоцировать огненную войну, я также констатирую, что любой, кто находит конечный автомат "слишком отвратительным или трудным для понимания", не имеет делового программирования. В конце концов, регулярное выражение - это конечный автомат.

3 голосов
/ 07 августа 2009

Я так не думаю, конечные автоматы чрезвычайно легко рисовать в виде блок-схем. И многие нетехнические люди могут читать блок-схемы, даже если они никогда не слышали о «автомате».

1 голос
/ 07 августа 2009

Может быть, спросить нетехнических пользователей об этом, для меня это может продолжаться.

0 голосов
/ 07 августа 2009

В Uni нас активно поощряют делать это ... и я склонен согласиться с Джоном Д., что за ними легко следовать, даже если вы никогда их раньше не видели.

См. лекцию 10 класса, который я посещал в прошлом году по HCI.

...