较长或较短的语法哪个更流畅?

发布于 2024-07-27 02:00:05 字数 260 浏览 2 评论 0原文

我正在尝试创建我的第一个流畅的界面,我只是想知道其他人认为哪个更流畅以及他们更喜欢使用哪个?

Check.Field().Named("est").WithValueOf("sdsd").IsNotNull()

Check.Field("est").WithValueOf("sdsd").IsNotNull()

Check.Field("est").WithValue("sdsd").IsNotNull()

干杯 安东尼

I am trying to create my first fluent interface and I was just wondering what other poeple thought was more fluent and which one they would prefer to use?

Check.Field().Named("est").WithValueOf("sdsd").IsNotNull()

Check.Field("est").WithValueOf("sdsd").IsNotNull()

Check.Field("est").WithValue("sdsd").IsNotNull()

Cheers
Anthony

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

若水微香 2024-08-03 02:00:05

最后一张肯定是:

Check.Field("est").WithValue("sdsd").IsNotNull()

Last one definitely:

Check.Field("est").WithValue("sdsd").IsNotNull()
万人眼中万个我 2024-08-03 02:00:05

我同意:

Check.Field("est").WithValue("sdsd").IsNotNull()

尽可能短,同时仍然有意义。

避免像 .as 这样的干扰词。 。的。 。和。 .in. 除非它们添加了上下文含义。 我见过执行此操作的流畅界面,除了更多的输入和应用程序执行时要跳过的更多环之外,它没有添加任何有用的东西。

I concur:

Check.Field("est").WithValue("sdsd").IsNotNull()

As short as possible, while still making sense.

Avoid noise words like .as. .of. .and. .in. unless they add contextual meaning. I've seen fluent interfaces that do this, and it adds nothing useful except more typing and more hoops for the application to jump through when it executes.

梅倚清风 2024-08-03 02:00:05

另一种选择可能是:

Check.Field("est").IsNotNull("sdsd")

使用谓词调用 LINQ 的 FirstOrDefault 之类的东西,而不是过滤然后调用 FirstOrDefault。

Another option might be:

Check.Field("est").IsNotNull("sdsd")

Something like LINQ's FirstOrDefault called with a predicate instead of filtering and then calling FirstOrDefault.

不及他 2024-08-03 02:00:05

什么是检查? 我怀疑根本不需要。 我理解您想要做什么,但请记住您尝试构建的表达式仍然可能以 if 语句结束。 考虑到这一点,请考虑“if check X”如何读。 不太好,恕我直言。 此外,“Field”函数必须做什么才能解析该名称? 您是否在其他地方可以以更好的方式呈现(也许是某些基本类型的扩展方法?)

What is Check? I suspect it's not needed at all. I understand what you're trying to do, but remember that the expression you're trying to build will still likely end up in an if statement. With that in mind, think about how "if check X" reads. Not too well, imho. Additionally, what does the 'Field' function have to do to resolve that name? Do you have that somewhere else that you could present in a nicer way (perhaps an extension method on some base type?)

我还不会笑 2024-08-03 02:00:05

或者,要模仿某些集合,请使用 Item property

Check["est"].WithValue("sdsd").IsNotNull()

有些人可能还会说你应该只使用 .IsNull() 并否定整个表达式,就像这样,但这是一个“六对半打”的事情:

!Check["est"].WithValue("sdsd").IsNull()

Or, to mimic some of the collections, use of Item property:

Check["est"].WithValue("sdsd").IsNotNull()

Some might also say you should just use .IsNull() and negate the whole expression, like this, but that's a "six -vs- half a dozen" thing:

!Check["est"].WithValue("sdsd").IsNull()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文