下面三个流畅的表达中,哪一个最符合用户故事?

本文关键字:哪一个 故事 用户 三个 | 更新日期: 2023-09-27 17:49:24

我正在研究一个流畅的框架,我希望从其他工程师那里得到一些反馈,关于哪种流畅的表达最符合我所拥有的用户故事。

User Story:"作为一个使用fluent框架X的软件工程师,当框架的事件聚合器发布一个事件时,我想将这个事件映射/路由到控制器上的一个方法,然后在UI容器中显示一个视图。"

选项1:

Map<MyEvent>()
.To<MyView, MyController>(controller => controller.HandleMyEvent());

选项2:

Map<MyEvent>()
.To<MyView>()
.Via<MyController>(controller => controller.HandleMyEvent());

选项3:

Map<MyEvent>()
.To<MyController>(controller => controller.HandleMyEvent())
.Show<MyView>()
.InContainer<MainTabContainer>();

下面三个流畅的表达中,哪一个最符合用户故事?

"作为软件工程师使用流利框架X,当框架事件聚合器发布事件I要将此事件映射/路由到方法,然后显示UI容器中的视图。"

你想让你的代码这样写:
发送事件X到我的控制器并在UI容器中显示结果
然后你把它输入谷歌英语到c#的翻译,你得到:

Route<MyEvent>().To<MyController>(c=>c.HandleMyEvent()).AndShowResultIn<MyUIContainer>();

设置事件路由时指定视图和控制器。视图-控制器映射需要指定,但不能在设置事件路由的同一句话中指定。所以分开做:

Bind<MyView>().To<MyController>();

或将控制器绑定到视图,然后将事件路由到视图,而不是控制器,我不这么认为。坚持通过控制器路由事件

如果没有整个系统的上下文,很难说。例如,我不知道UI容器的作用,为什么它只在选项3中定义,以及它对前两个选项意味着什么。我假设有一些约定来决定默认情况下使用哪个UI容器。

选项1看起来不像自然句子,一行中有两个通用参数使其可读性不如选项2 &3 .

选项3包含两个句子,Show是这里的第二个动词。我喜欢每条链只有一句话的api,但这可能只是我个人的偏好。

选项2是一个自然的句子,意思清晰,单词简短,我最喜欢它。如果有一种方法可以覆盖默认的UI容器(使用类似于To<MainTabContainer>().In<MyView>()的东西),那肯定是最好的。