当前位置: 首页 > 面试题库 >

Java中实用程序类的命名约定

黄啸
2023-03-14
问题内容

用Java编写实用程序类时,应遵循哪些良好准则?

包装应该是“ util”还是“
utils”?是ClassUtil还是ClassUtils?什么时候上课是“帮手”或“实用程序”?实用程序还是实用程序?还是混合使用它们?

标准Java库同时使用Utils和Utilities:

  • javax.swing.Utilities
  • javax.print.attribute.AttributeSetUtilities
  • javax.swing.plaf.basic.BasicGraphicsUtils

Apache使用了多种Util和Utils,尽管大多数都是Utils:

  • org.apache.commons.modeler.util.DomUtil
  • org.apache.commons.modeler.util.IntrospectionUtils
  • org.apache.commons.io.FileSystemUtils
  • org.apache.lucene.wordnet.AnalyzerUtil
  • org.apache.lucene.util.ArrayUtil
  • org.apache.lucene.xmlparser.DOMUtils

Spring使用了很多Helper和Utils类:

  • org.springframework.web.util.UrlPathHelper
  • org.springframework.core.ReflectiveVisitorHelper
  • org.springframework.core.NestedExceptionUtils
  • org.springframework.util.NumberUtils

那么,您如何命名实用程序类?


问题答案:

像许多此类约定一样,重要的不是您使用的约定是什么,而是您始终使用它。例如,如果您有三个实用程序类,并且将它们称为CustomerUtil,ProductUtils和StoreUtility,则其他尝试使用您的类的人将不断感到困惑,并错误地键入CustomerUtils,必须对其进行查找,并多次咒骂您,等(我曾经听过一次关于一致性的演讲,演讲者放了一张幻灯片,用三个要点分别标明了演讲的要点,分别标记为“
1”,“ 2nd”和“ C”。)

从来没有两个名字只是在一些细微的拼写上有所不同,例如拥有CustomerUtil和CustomerUtility。如果有充分的理由进行两个类的学习,那么它们必须有所不同,并且名称至少应为我们提供一个区别。如果一个包含与名称和地址相关的实用程序功能,而另一个包含与订单相关的实用程序功能,则将它们称为CustomerNameAndAddressUtil和CustomerOrderUtil或类似的名称。当我看到名字无意义的细微差别时,我会经常发疯。就像昨天一样,我正在开发一个程序,该程序包含三个字段的运费,分别为“运费”,“运费”和“运费”。我必须研究代码以找出它们之间的区别。



 类似资料:
  • 问题内容: java中类的命名约定是什么,例如,所有类都应像MYCLASS.java这样大写吗? 像 **com.sun.org.apache.bcel.internal.generic 这样的类 。 简报** 。也可以在Sun的图书馆中找到 注意:我已经阅读了Oracle的所有命名约定,但是找不到任何内容说明我们应该使用AllLargecase命名一个类。 问题答案: 浏览了许多链接后,我发现没

  • 问题内容: 我的完整变量名称是“唯一代码”,但是我希望此变量是“ ucode” -ish。 那么考虑Java命名约定是正确的吗? 编码 uCode UCode 问题答案: 请参阅编码约定。对于变量,建议使用驼峰式大小写。回覆。命名,我本以为 将是最合乎逻辑的选择(我知道那不在您的选择列表中)。任何变体在我看来都是 unicode 的缩写,我认为这是一种误导。以上不是一个太长的名称(例如,它不是Ab

  • 问题内容: 如果我有以下私人成员: 我应该如何命名我的吸气剂/设置剂: 要么 编辑:或 ? 问题答案: 正确答案是 如果希望根据 8.8 节 : 将JavaBeans API规范 的推断名称大写 (例如,通过JSP中的$ {object.xIndex}访问它们),将它们用作属性。

  • 问题内容: 在PHP中,我们(至少是优秀的程序员)总是以小写字母开头的通用变量名称,而以大写字母开头的类变量/对象则区分它们。以相同的方式,我们以小写字母开头的通用文件名,但是包含具有大写字母的类的文件。 例如: Java中的约定是否相同,即对象以大写字母开头,其余对象以小写字母开头?还是像我在其他地方读过的所有内容都以小写字母开头? 问题答案: 通常,所有变量都以小写字母开头: 有些人喜欢在所有

  • 问题内容: 在网页上,有两个控件块(主要和次要),大多数人会使用什么类名? 选择1: 选择2: 问题答案: 直接问题的答案是正确的在这之下,由柯特。 如果您对CSS类命名约定感兴趣,我建议考虑一种非常有用的约定,即 BEM ( Block,Element,Modifier )。 更新 请在此处详细了解-这是一个较新的版本,它使以下答案过时了。 主要原理: 一个页面是由独立的块构成的。块是HTML元

  • 问题内容: 为线程命名很有帮助,以便人们可以出于诊断和调试的目的整理出哪些线程在做什么。 在高度多线程的应用程序中,是否有一种比另一个应用程序更好的特定命名约定?有准则吗?线程名称应包含哪些信息?您对命名线程有什么了解,这可能会对其他人有所帮助? 问题答案: 据我所知,没有标准。随着时间的流逝,我发现这些准则会有所帮助: 使用短名称,因为它们不会使日志文件中的行太长。 在重要部分的开头创建名称。图