1. Эта часть означает конкретное понятие, а это понятие может быть выражена в коде напрямую
2. Если уже есть существующее соглажение для обозначение имен и последовательнойстей методов, почему бы его не использовать
3.1 YAGNI
3.2 Ваши данные разве не часть тела пролграммы?
3.3 Клуч нарушает 1НФ :) нельзя ли жти три части выразить явно?
3.4 Можно ли привести программу с переходами состояний?
1. префикс — это неймспейс для бедных. В питроне не хватает неймспейсов?
2. Это делает код лучше потому, что меньше всяких мусорных слов типа 'type' и 'methods' к тому же появляется возможность писать не только последовательность методов.
3. Мне кажется, чем меньше новых сущностей вводится, тем лучше.
Почему 'name':'x', 'type':'show', 'methods':[self.meth] проще нарисовать на бумажке чем
1. Нахрен нужны эти префиксы fsm_?
2. Для списка методов есть уже готовая штука под названием «метод» к тому же там больше писанины
3. Для типа списков методов можно использовать декоратов
4. Итого, код можно сделать таким.
Кстати, не понял, что играет роль входного алфавита для КА.
То есть чем определяется переход — URL запроса должен совпадать с названием действия?
2. Если уже есть существующее соглажение для обозначение имен и последовательнойстей методов, почему бы его не использовать
3.1 YAGNI
3.2 Ваши данные разве не часть тела пролграммы?
3.3 Клуч нарушает 1НФ :) нельзя ли жти три части выразить явно?
3.4 Можно ли привести программу с переходами состояний?
2. Это делает код лучше потому, что меньше всяких мусорных слов типа 'type' и 'methods' к тому же появляется возможность писать не только последовательность методов.
3. Мне кажется, чем меньше новых сущностей вводится, тем лучше.
Почему 'name':'x', 'type':'show', 'methods':[self.meth] проще нарисовать на бумажке чем
@show def x(): self.meth()2. Для списка методов есть уже готовая штука под названием «метод» к тому же там больше писанины
3. Для типа списков методов можно использовать декоратов
4. Итого, код можно сделать таким.
Вместо
self.fsm_trans = { # 1 'init_logo':{'type':'Show','methods':[self.fsm_logo_show]}, # 2 'logo_logo':{'type':'Show','methods':[self.fsm_logo_show]}, 'pg1_prj_select_page':{'type':'Show','methods':[self.fsm_project_set_dir, self.fsm_diag_files_rm, self.fsm_project_page_algor_start, self.fsm_set_cur_page_algor_first_page, self.fsm_set_cur_block_first_block_of_page, self.fsm_create_cur_page_diag_files, self.fsm_page_show]},@show def init_logo(self): return self.logo_show() @show def logo_logo(self): return self.logo_show() @show def pg1_prj_select_page(self): self.project_set_dir() self.diag_files_rm() self.project_page_algor_start() self.set_cur_page_algor_first_page() self.set_cur_block_first_block_of_page() self.create_cur_page_diag_files() return self.page_show()Правда хороших реализация не видел. Хочется нативного клиента типа mesh.com с онлайновым редактором типа гугльдокс — а то в меше только плеер есть.
что проще — взять готовый поток объектов или распарсить текст и выделить структуру в нем?
Почему?
я, например, не напрягался для указанного ванлайнера совсем. А у вас пока рекурсии нет даже.
Я думаю, есть класс задач для которых шелл лучше, чем скриптовый язык.
2. Меня тут убедляли что в ipython передаются объекты — а тут работа со строчками — это чистый питон а не АйПитон.
3. Шелл в отличии от скриптового языка как раз для ванлайнеров
с другой стороны легкий как синтаксис
ls *.paсk | %{ unpaсk.exe $_ -$_}
например попробуйте написать аналог PSh
ls -rec | sort LastWriteTime
кстати, интересно было бф увидеть аналог на ipython
(start notepad.exe -passth).id