Как стать автором
Обновить

Комментарии 16

Обычное оконное стекло это жидкость, хоть и твердое.
Обычное оконное стекло — это аморфное тело.
А разве нет?
Как вы отличите вязкую, очень вязкую жидкость от твердого тела? Гудрон при температуре -40 хрупкий и очень твердый ( или очень вязкий ).
Граница между жидким и кристаллическим(твердым) одна — агрегатное состояние вещества.
Ну так стекло как раз и не вязкая жидкость, и не твердое тело. Как сказал один ученый который исследовал эту тему, стекло больше похоже на одну большую молекулу, чем на жидкость. Химические связи в нем не позволяют ему течь, но при этом атомы не образуют регулярной решетки, потому что не успевают занять правильные позиции при остывании.
Обожаю стейт-машины. Они сами по себе мощный инструмент для формализации логики, уберегают код от недетерменированных состояний и сильно упрощают отладку.

Но неаккуратно написанная (или недопокрытая тестами) стейт-машина — это бомба замедленного действия.
В порядке занудства — не стоило ли при переводе также перевести 32 и 212 градусов по Фаренгейту в 0 С и 100 С, исключительно для полноты картины? Или большинство на автомате воспринимает шкалу Фаренгейта?

тогда бы константы не были бы такими "магическими"

Тогда пришлось бы перерисовывать картинки со шкалой.

Рефакторинг просто плачет в коде реализации
То что можно было в 3-5 строк написать. Написали в 2 экрана

Так и не понял, чем FNM лучше классических стейт-машин. И инструменты есть, и код короче и привычнее.
Насколько я понял, речь и идёт о классических стейт-машинах. А FNM — это только формат для их описания. Табличку переходов развернули в двухуровневый список, и добавили нотацию для указания семантических процедур.
Вопрос в том, зачем ещё один формат. Есть и наработанная классика (например, иерархические машины) с кучей манов, и специализированные инструменты, например. А самое обидное, когда у нас многолетний клубок брачующихся змей, с тем же постепенным отсечением, никто его не будет переписывать ни на FSM, ни на FNM.
Ну, как сказать. Специализированные инструменты могут быть не под все языки, а стейт-машина может понадобиться не только во встраиваемых системах.
От лишнего формата их описания — хуже точно не будет. Может, кому-то пригодится для DSL. А если нет — то и хрен бы с ним.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории