gpt4 book ai didi

language-agnostic - 声明式函数命名

转载 作者:行者123 更新时间:2023-12-04 18:00:29 24 4
gpt4 key购买 nike

如何命名函数以清楚地反射(reflect)它们遵循 declarative paradigm ?

上下文:我最近开始致力于创建以声明方式工作的库,但我很难提出反射(reflect)它的命名约定。过去,我创建了命令式函数,其名称类似于 createThing ,但我发现很难在函数名称中简洁地传达“做必要的事情来返回一个看起来像 ____ 的 Thing”的想法。
理想情况下,我想遵循正式的标准或既定的命名约定。否则,我希望至少从预先存在的代码库中找到一些指导。

最佳答案

鉴于您担心有一个简洁的函数名称,我会调查您的 createThing 是否函数做得太多并将其拆分为几个较小的块(这在很大程度上受 C# 语法的影响):

var yourThing = new Thing()
.with(new PropertyA()).thenWith(new DependentPropertyOfA()) // digress a bit
.with(new PropertyB()) // back to main thread here
.withPieceOfLogic((parameter1, parameter2) => {define some logic here}) // so you can potentially can swap implementations as well
.create();

在这里,我的目标是 FluentInterface .这可能会让你达到你正在寻找的美学。

使用这种方法要记住的一件事是,这种链接使其高度线性,如果您需要绕路定义主要对象,则可能无法很好地工作。

其他几个可以从中汲取灵感的例子:
  • https://www.entityframeworktutorial.net/efcore/fluent-api-in-entity-framework-core.aspx
  • https://momentjs.com/docs/ .
  • https://jasmine.github.io/tutorials/your_first_suite
  • 关于language-agnostic - 声明式函数命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58513924/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com