Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java编码标准-所有变量名称均小写_Java_Jpa_Coding Style_Standards_Pojo - Fatal编程技术网

Java编码标准-所有变量名称均小写

Java编码标准-所有变量名称均小写,java,jpa,coding-style,standards,pojo,Java,Jpa,Coding Style,Standards,Pojo,我们正在使用Netbeans实用工具从数据库表生成实体类,现在我们可以用vise-a-verse来实现。比如从表到实体POJO和反向,这样当我们对实体POJO进行任何更改时,我们将得到更新的SQL Eclipse也有类似的实用程序可用于JPA,但它没有相反的功能,现在的问题是,当从表中生成实体POJO时,我们无法选择命名约定。我们得到的所有字段名都是小写的,对于类来说也是如此,其中没有任何内容是用驼峰大小写的,只有大写的第一个字母,而其他所有内容都是小写的 现在这似乎给我们定义的编码标准带来了问

我们正在使用Netbeans实用工具从数据库表生成实体类,现在我们可以用vise-a-verse来实现。比如从表到实体POJO和反向,这样当我们对实体POJO进行任何更改时,我们将得到更新的SQL

Eclipse也有类似的实用程序可用于JPA,但它没有相反的功能,现在的问题是,当从表中生成实体POJO时,我们无法选择命名约定。我们得到的所有字段名都是小写的,对于类来说也是如此,其中没有任何内容是用驼峰大小写的,只有大写的第一个字母,而其他所有内容都是小写的

现在这似乎给我们定义的编码标准带来了问题,因为它要求我们对变量和方法名使用驼峰式大小写


所以我们和团队进行了讨论,其中一个想法是在整个项目中保持所有变量的小写,我个人不同意这一点,因为这会使代码非常难以阅读,因为我们不打算使用下划线来分隔单词。你可以就这个标准投票


你认为什么是最好的出路?是否有任何实体POJO生成器可用于双向转换,并且当它在分数下找到时,仍然能够从db表名转换为驼峰大小写?

最佳解决方案是立即停止并移动到标准java命名约定:

  • 变量和方法名称以小写字母开头
  • 类和接口名称以大写字母开头
  • 使用骆驼公约。除常量外,无下划线(见下文)
  • 公共最终静态字段名称都是带下划线的大写(如C中的
    #define
    )。对于
    enum
    字段,建议使用相同的方法(但此建议并不严格)
  • 如果我忘了什么,我很抱歉。但是遵循大多数开发人员适用的命名和编码约定是非常重要的。首先,这些公约是基于大量的经验。不要认为你能提高他们。你不能。我也不能 其次,遵循编码惯例可以让别人理解你的代码,避免愚蠢的错误

    我使用eclipse生成实体,如果您不能设置

    另外,我想intellij也允许您根据需要执行此操作

    你认为什么是最好的出路

    遵循Java风格的约定。句号

    是否有任何实体POJO生成器可用,它可以双向转换,并且在发现不足分数时仍然能够从db表名转换为驼峰大小写

    我不知道

    但是如果你找不到,就使用一个现有的开源生成器并修改它来做你想做的事情。然后将你的补丁贡献给项目,以便其他人可以从你的工作中受益

    […]一个想法是在整个项目中保持所有变量小写[…]

    算了吧。你在爪哇岛。这意味着所有其他框架都不会遵守该标准,因此您永远不会只有一种干净的编码风格。Java的一个优点是,有一种风格可以使阅读外来代码更加容易


    因此,你应该试着把它控制在尽可能小的空间里,而不是传播这种疾病——在你的例子中,是工具产生的东西。下一步是改进或删除该工具。

    “您可以对该标准进行投票。”-先生,本网站关注的是事实,而不是观点。我们所能做的最好是收集一些统计数据或单独列出缺点,我不喜欢下划线_大小写,但当camelCase不可用时,我仍然使用它。如果我理解正确,您可以获取的副本,问题是框架通过假设名称为单个单词而破坏了惯例。我读错了吗?这个问题要求实体pojo generatorTool基本上。。我是个新手,讨厌别人不遵守标准。我希望做一些改进,以便我喜欢看到代码,但关于Netbeans(和实体生成器)的借口是由遗留团队提供的。我刚刚验证了,如果在表字段和名称中使用下划线,则不会。。。所以,这只是一个做出改变的问题,并理解Java标准是要遵循的,而不是为了好的目的而被操纵。我正试图触发这一变化,因为在这个项目上只花了2/3个月,如果我们再往后退一周,事情会变得很美好。@Dharmavir那么这似乎很明显-在数据库中使用下划线,这样你就可以在对象模型中得到驼峰格。谢谢你建议dali,我会检查这个。