1

什么是最佳的Java代码编程规范?这可能是一个众口难调的问题。那么,不妨换个问题,什么代码规范最流行?

sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果。一起来看看吧。

code convention

空格对Tab缩进

空格,74.282 %; Tab,25.718%;基于1,879,062提交。

块语句空格

花括号前空一格(73.432 %)

if (height < MIN_HEIGHT) {
  //..
}

while (isTrue) {
  //..
}

switch (foo) {
  //..
}

花括号另起一行(20.33 %)

if (height < MIN_HEIGHT)
{
  //..
}

while (isTrue)
{
  //..
}

switch (foo)
{
  //..
}

花括号后无空格(6.239 %)

if (height < MIN_HEIGHT){
  //..
}

while (isTrue){
  //..
}

switch (foo){
  //..
}

基于1,145,733次提交统计

常量大写

常量大写(51.829 %)

final static String FOO_BAR = "baz";

static final String FOO_BAR = "baz";

常量不大写(48.171 %)

final static String foobar = "baz";

static final String foobar = "baz";

条件语句

有空格(83.925 %)

if (true) {
  //...
}

while (true) {
  //...
}

switch (v) {
  //...
}

无空格(16.075 %)

if(true) {
  //...
}

while(true) {
  //...
}

switch(v) {
  //...
}

基于1,331,612次提交统计

参数定义

无空格(97.191 %)

public void setName(String name) {
  // ...
}

if(isTrue) {}

while(isTrue) {}

有空格(2.809 %)

public void setName( String name ) {
  // ...
}

if( isTrue ) {}

while( isTrue ) {}

最长行

80,91.35 %;120,7.267 %;150,1.383 %:基于1,917,477次提交统计。

staticvar

不使用特殊前缀(99.638 %)

static String name

使用特殊前缀(0.362 %)

static String _name;

final和static的顺序

access modifier - static - final|volatile (94.868 %)

public static final String t1 = "";

public static transient final String t2 = "";

transient public static final String t3 = "";

access modifier - final|volatile - static (4.802 %)

public final static String t1 = "";

public final static transient String t2 = "";

transient public final static String t3 = "";

static - access modifier - final|volatile(0.179 %)

static public final String t1 = "";

static public transient final String t2 = "";

static transient public final String t3 = "";

final|volatile - access modifier - static (0.151 %)

final public static String t1 = "";

final public static transient String t2 = "";

final transient public static String t3 = "";

基于 371,647 次提交统计

流行的不一定是好的(比如流行性感冒),但是从交流的角度来说,按照流行的风格编写代码,可以让你的代码在大多数人看起来更习惯。


编撰 SegmentFault


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity