Java中的变量命名约定?

Cli*_*ote 20 java oop naming-conventions

在PHP中,我们(至少是优秀的程序员)总是以小写字母开始一般变量名,但是使用大写字母的类变量/对象来区分它们.同样,我们使用小写字母开始一般文件名,但包含带大写字母的Classes的文件.

例如:

<?php
$number=123;
$string="a string";
$colors_array=array('red','blue','red');
$Cat=New Cat();
?>
Run Code Online (Sandbox Code Playgroud)

这些约定在java中是相同的,即以大写字母开头的对象,但是小写的其余部分,或者在我在其他地方阅读时,一切都以小写字母开头?

jam*_*esh 59

您可以在Java代码约定中找到命名.

快速摘要:

  • 对于课程,请使用UpperCamelCase.
  • 对于类成员和局部变量使用 lowerCamelCase
  • 对于包,请使用反向URI,例如 org.acme.project.subsystem
  • 对于常数,请使用ALL_CAPS.


Ric*_*ell 27

通常,所有变量都以小写字母开头:

int count = 32;
double conversionFactor = 1.5d;
Run Code Online (Sandbox Code Playgroud)

有些人喜欢在所有情况下放置静态常量:

public static final double KILOGRAM_TO_POUND = 2.20462262;
Run Code Online (Sandbox Code Playgroud)

当你处理首字母缩略词时,事情变得更加烦人,你是否应该使用以下方面没有真正的标准:

HTMLHandler myHtmlHandler; 
Run Code Online (Sandbox Code Playgroud)

要么

HTMLHandler myHTMLHandler.
Run Code Online (Sandbox Code Playgroud)

现在,无论哪种方式,请注意类名(Object,String,HTMLHandler)始终以大写字母开头,但单个对象变量以小写开头.

  • 我更喜欢myHtmlHandler,因为你不必担心术语被认为是首字母缩略词或词(LASER,AJAX,GUID). (9认同)
  • 实际上,JDK的惯例是使用全大写的缩写词.例如:userID,URI,UUID,SQLException.这是围绕JDK 1.3-1.4 IIRC做出的决定,这就是为什么你会在JDK中看到混合的约定.另外,令人困惑的是,一些JSR(如JAX-RS)最终因为任何原因使用了不同的约定,但其他主要标准(如Swing和Java EE)使用了全封闭约定. (6认同)

Pat*_*ney 8

  • variablesAndMethodsLikeThis
  • ClassesLikeThis
  • CONSTANTS_LIKE_THIS