小编典典

如何命名类似工厂的方法?

all

我猜大多数类似工厂的方法都是以create.
但是为什么它们被称为“创造”呢?为什么不使用“
make ”、“
produce ”、“
build ”、“
generate
”或别的什么?仅仅是口味问题吗?大会?还是“创造”有什么特殊含义?

createURI(...) 
makeURI(...)
produceURI(...)
buildURI(...)
generateURI(...)

你一般会选择哪一个,为什么?


阅读 136

收藏
2022-08-02

共1个答案

小编典典

一些随意的想法:

  • “创建”比大多数其他词更适合该功能。我能想到的下一个最好的词是“构造”。过去,“Alloc”(分配)可能已在类似情况下使用,这反映了在 C 等语言中比对象更强调数据块。

  • “创造”是一个简短、简单的词,具有清晰的直观含义。在大多数情况下,人们可能只是选择它作为他们想要创建某些东西时想到的第一个、最明显的词。这是一种常见的命名约定,“对象创建”是描述……创建对象过程的常用方式。

  • ‘Construct’很接近,但它通常用于描述创建对象过程中的特定阶段(分配/新建,构造,初始化......)

  • “构建”和“制作”是与编译代码相关的过程的常用术语,因此对程序员有不同的含义,意味着包含许多步骤和可能大量磁盘活动的过程。然而,工厂“构建”某些东西的想法是一个明智的想法——尤其是在构建复杂的数据结构或以某种方式组合许多单独的信息的情况下。

  • 对我来说,“生成”意味着用于从输入中生成值的计算,例如生成哈希码或随机数。

  • ‘Produce’、’Generate’、’Construct’ 的输入/读取时间比 ‘Create’ 长。从历史上看,程序员倾向于使用短名称来减少打字/阅读。

2022-08-02