9

你写createSomething()还是addSomething()

你写readSomething()getSomething()还是fetchSomething()

这完全是一个小小的抱怨。在会议室中,我们将其称为 CRUD,但在实际代码中,它正在变成 AGUD。

您偏好的命名约定是什么?有关系吗?

谢谢。

4

12 回答 12

6

我更喜欢CRUD而不是AGUDAFUD


创建添加

我们试图用这两个词来表示我们正在构建新的东西。 CREATE没有解释的余地​​;以前不存在的东西现在正在建造中。 ADD可能有点令人困惑,因为它可能暗示我们正在添加一些已经存在的东西。


阅读与。获取/获取

对我来说,这里GETFETCH的问题可以解释为获取对象的唯一实例以对其进行修改。我喜欢使用READ,因为从某种意义上说,我想在一个对象的实例中读取是很清楚的,并且修改修改对象需要单独的操作。

于 2008-12-13T04:07:03.063 回答
3

BREAD - 浏览、阅读、编辑、添加、删除。

于 2008-12-11T20:24:41.697 回答
2

我认为这取决于问题/技术的背景 - CREATE 和 ADD 可能不同。

例如我可以创建一个标签。

然后我可以将该标签添加到页面。

我们使用存储库来管理我们的数据访问,根据 Eric Evans 在他的领域驱动设计书中的说法,您应该将对象添加和删除到存储库中,就好像它是一个内存中的集合一样——即使在幕后它使用的是数据库。

但在回答最初的问题时,我仍然在谈论 CRUD,因为我的内心深处是一个 SQL 粉丝!:)

于 2008-12-11T18:19:28.593 回答
2

CRUD 作为首字母缩写词效果更好。在实践中,我一般使用 IACREUD:

  • 索引列出了可编辑的元素;还显示删除表单。
  • Add是用于显示添加内容的表单的视图;
  • Create是处理 Add 表单的后端代码;
  • Retrieve是前端应用程序中使用的唯一视图;
  • Edit是用于显示用于编辑现有内容的表单的视图;
  • 更新是处理编辑表单的后端代码;
  • Delete是处理删除表单的后端代码。

我真的想不出一个好的缩写词。。

于 2008-12-13T04:35:21.463 回答
2

我更喜欢readXXXX()getXXXX()因为getXXX()可能会引用的getter / setter方法bean,并且可能会在维护代码时造成混乱

于 2011-09-09T07:22:14.477 回答
0

我认为这是相当普遍的。我们的 DAO 肯定是 Add、Get、Update、Delete(将状态设置为 'C'ancelled 等)方法名称。在数据库级别,它们是插入、选择、更新和删除 - ISUD。

它可以是持久化、获取、删除。根据需要坚持添加或更新。

于 2008-12-11T18:20:45.847 回答
0

你是写 createSomething() 还是 addSomething()?

当某些东西不存在时,我使用 createThing(),如果某些东西确实存在,我使用 addThing() 我们将向它添加不同的东西。

你会写 readSomething()、getSomething() 还是 fetchSomething()?

如果我正在读取字节(或类似内容),我会使用 readThing(),如果我正在访问属性,我会使用 getThing(),如果我正在访问外部源,我会使用 fetchThing()。

取决于上下文和偏好。LSS,创建东西肯定不同于添加东西。就个人而言,我觉得它们不可互换。

于 2009-05-15T03:28:54.007 回答
0

我创建一些东西,然后将它添加到其他东西中。添加可以是创建的一部分,有时也可以是包含对象的更新。

于 2008-12-11T18:36:02.087 回答
0

通常,“获取”是高级别的——从任何地方获取它:缓存、磁盘、配置。“检索”从持久存储中获取值——如果它不在缓存中,通常由“获取”调用。

于 2008-12-11T18:29:47.030 回答
0

这取决于公司的偏好和标准。这通常不取决于我,这对我来说没问题。一个好的程序员是灵活的。

于 2009-05-13T15:34:18.217 回答
0

当我能想到合适的动词时(凌晨 4 点很难),我会尝试使用更具体的动词。对于大多数事情来说,add/edit/delete/get 已经足够好了,也足够短了。

于 2008-12-13T04:39:29.940 回答
0

归根结底,这取决于您作为一个人,这是您对项目感到满意的地方。我通常使用获取、添加、搜索或类似的东西。问候马克

于 2009-05-12T13:40:27.120 回答