java Camel 肠衣的缩写?

5lwkijsr  于 2023-08-02  发布在  Java
关注(0)|答案(8)|浏览(153)

这个问题可能看起来很迂腐或者很傻,但是当涉及到首字母缩略词时,你的 Camel 式大小写是什么?你是坚持所有的东西,甚至是首字母缩略词都必须是驼峰式的,还是你对首字母缩略词例外。解释也会很棒。我不确定这种做法如何影响IDE功能(自动完成)或行业标准是什么。

kuarbcqp

kuarbcqp1#

对于C#,请查看Microsoft's guidelines

双字符首字母缩略词的两个字符都要大写,大小写混合的标识符的第一个单词除外。

名为DBRate的属性是用作Pascal大小写格式标识符的第一个单词的短首字母缩略词(DB)的示例。名为ioChannel的参数是一个短首字母缩略词(IO)的示例,它用作大小写混合的标识符的第一个单词。

首字母缩略词的第一个字符必须大写,包含三个或更多字符的首字母缩略词除外,大小写混合的标识符的第一个单词除外。

名为XmlWriter的类是一个长首字母缩略词的示例,它用作Pascal大小写格式标识符的第一个单词。名为htmlReader的参数是一个长首字母缩略词的示例,它用作大小写混合的标识符的第一个单词。

在大小写混合的标识符的开头,不要大写任何首字母缩略词的任何字符,无论其长度如何。

名为xmlStream的参数是一个长首字母缩略词(xml)用作大小写混合的标识符的第一个单词的示例。名为dbServerName的参数是一个短首字母缩写词(db)用作大小写混合的标识符的第一个单词的示例。

rqenqsqc

rqenqsqc2#

个人喜好。
我倾向于这样做,只是因为它不能很好地与其他单词合并,比如,XMLHTTPParser,与XmlHttpParser相比。做任何让你感觉良好的事情,但要以标准的方式去做。

pgpifvop

pgpifvop3#

这是我喜欢的,这是Java的:类以大写字母开头,字段以小写字母开头,而首字母缩略词不影响这一点。会导致这样的结果,

UrlConnection urlConnection;

字符串
问题是,如果你试图应用一个规则,你总是大写的首字母缩略词,甚至首字母缩略词,而不管它是一个字段或类名,你会得到奇怪的东西,如,

URLConnection URLConnection; // huh?


换句话说,该字段以小写字母开头的规则与假设的大写字母缩略词规则相矛盾。你不能两者都用。
甚至Java SDK也有这两种情况的例子,在一个类名中:HttpURLConnection。你会认为它要么是HTTPURLConnection要么是HttpUrlConnection

pexxcrt2

pexxcrt24#

一般来说,将首字母缩略词与整个单词大小写相同是最直观的,原因如下。
1.它有助于避免记忆一堆特殊规则(例如上面的MS指南)
1.特定术语的大小写可能会随着时间的推移或在个人解释之间发生变化,例如posixunixregexradarscubalaseremail
1.否则,当您需要处理(和/或合并)miniiOSLayoutSSHHTTPSSessionCPUURLLinkC和schemaeBay等技术术语时,它可能会在视觉上变得笨拙(假设这些特定示例不太可能,它们有助于说明问题)
1.如果语言对不同的东西使用不同的大小写,比如大写AClassName而不是anObjectName,它消除了一些混乱
httpUrl看起来很傻。但是你写的代码越多,你就越有可能自己意识到上面的几点。虽然这本身并不是一件大事,但很多小事情会累积起来,让你对工作感到沮丧。

ycl3bljg

ycl3bljg5#

我们没有硬性规定,但我们通常不使用驼峰式缩写。有几个超过三个字母的是,但大多数不是。

nbysray5

nbysray56#

一般来说,我们的首字母缩略词是PascalCased或CamelCased。
一些例外情况:

  • 如果成员名称中使用的首字母缩略词在软件编写的业务中是众所周知的,并且它是真正的首字母缩略词(大写字母形成字典单词,而不是像XML那样的缩写),我们通常将其大写以避免与字典单词混淆。
  • 有时候,在针对现有DB的ORM中,我只是将Map的变量命名为与DB列相同,大写等等,而不必在区分大小写的DB中显式地MapFdicId => FDICID。这确实有它的缺点,因为未来的开发人员可以悄悄地打破功能,如果他们比我更强烈地感觉到它应该被正确地大小写,但不知道为什么。
  • ID用于成员名末尾时有点反复无常;是ID还是Id取决于在类或名称空间中编写第一个这样的成员的开发人员,并且它们很少被修改。
lyr7nygr

lyr7nygr7#

也取决于缩略词的长度。
DB->看起来不错

openDBConnection

字符串
HTTP->看起来很奇怪

openHTTPCConnection


除了规则:

  • 可读性对我来说很重要。
  • 一致性显示了你在编程上的努力。

所以,要做到前后一致,清晰可辨。

jum4pzuy

jum4pzuy8#

TL'DR

根据经验,您应该首选MyUrlClass,而不是MyURLClass

约定

每种语言都有自己的风格指南。

  • C#允许两个字母的首字母缩略词全部大写(pascal或camel case)或小写(当第一个单词是camel case时),但较大的首字母缩略词应该表现得像普通单词一样。
  • Java没有一个单一的约定,但在实践中,你可以使用.NET作为参考,如explained at another SO question

对于Java:
对于4个字母以上的首字母缩略词,请使用大小写混合。标准库就是这样做的,而且它很有意义。
对于3个字母的首字母缩写,您可以像JCL一样使用全部大写,或者像.NET Framework一样使用混合大小写。无论如何,保持一致。
对于2个字母的首字母缩写,请全部大写。
对于2个字母的缩写,Java并没有真正的标准,但我建议使用混合大小写,除非与其他名称的一致性会使所有大写看起来更好。
如果你来到这里,认为一个缩写词的每个字母都是一个不同的词,那就再想想吧
如果这是你的推理,分析一下:
通过将每个字母视为一个不同的单词,一个名称类XMLDBParser(PascalCase中)**以保持一致性,**将具有看起来像xMLDBParser(camelCase中)的标识符。这和命名约定没有任何意义。

相关问题