想要成为一名优秀的Java程序员,这份文档必读(一)
发布日期:2019-11-29 15:14:58点击次数:次
你还记得当初你加入java程序员行列时候的誓言吗?你还记得熬过了多少夜晚就为了涨工资的画面吗?你还记得你为什么会选择加入java程序员这个行业吗?我想我们都为了成为一名优秀的的程序员,今天,小编整理一份文档关于《如何成为一名优秀的java程序员》,希望能帮助到大家!
A、规则(1–2级)
1、在switch中每个case语句都应该包含break或者return。
2、不要使用空的for、if、while语句。
3、在运算中不要减小数据的精度。
4、switch语句中的case关键字要和后面的常量保持一个空格,switch语句中不要定义case之外的无用标签。
5、不要在if语句中使用等号=进行赋值操作。
6、静态成员或者方法使用类名访问,不使用句柄访问。
7、方法重载的时候,一定要注意方法名相同,避免类中使用两个非常相似的方法名。
8、不要在ComponentListener.componentResized()方法中调用serResize()方法。
9、不要覆盖父类的静态方法和私有方法。
10、不要覆盖父类的属性。
11、不要使用两级以上的内部类。
12、把内部类定义成私有类。
13、去掉接口中多余的定义(不使用public,abstract,static,final等,这是接口中默认的)。
14、不要定义不会被用到的局部变量、类私有属性、类私有方法和方法参数。
15、显式初始化所有的静态属性。
16、不要使用System.getenv()方法。
17、不要硬编码‘\n’和‘\r’作为换行符号。
18、不要直接使用java.awt.peer.*里面的接口。
19、使用System.arraycopy(),不使用循环来复制数组。
20、避免不必要的instanceof比较运算和类造型运算。
21、不要在finalize()方法中删除监听器(Listeners)。
22、在finalize()方法中一定要调用super.finalize()方法。
23、在finalize()方法中的finally中调用super.finalize()方法。
24、进行字符转换的时候应该尽可能的较少临时变量。
25、使用ObjectStream的方法后,调用reset(),释放对象。
26、线程同步中,在循环里面使用条件测试(使用while(isWait)wait()代替if(isWait)wait())。
27、不掉用Thread类的resume(),suspend(),stop()方法。
28、减小单个方法的复杂度,使用的if,while,for,switch语句要在10个以内。
29、在Servlets中,重用JDBC连接的数据源。
30、减少在Sevlets中使用的同步方法。
31、不定义在包中没有被用到的友好属性、方法和类。
32、没有子类的友好类应该定义成final。
33、没有被覆盖的友好方法应该定义成final。
B、建议(3级或以上)
34、为switch语句提供一个default选项。
35、不要在for循环体中对计数器的赋值。
36、不要给非公有类定义public构建器。
37、不要对浮点数进行比较运算,尤其是不要进行==,!=运算,减少>,<运算。
38、实现equals()方法时,先用getClass()或者instanceof进行类型比较,通过后才能继续比较。
39、不要重载main()方法用作除入口以外的其他用途。
40、方法的参数名不要和类中的方法名相同。
41、除了构建器外,不要使用和类名相同的方法名。
42、不要定义Error和RuntimeException的子类,可以定义Exception的子类。
43、线程中需要实现run()方法。
44、使用equals()比较两个类的值是否相同。
45、字符串和数字运算结果相连接的时候,应该把数字运算部分用小括号括起来。
46、类中不要使用非私有(公有、保护和友好)的非静态属性。
47、在类中对于没有实现的接口,应该定义成抽象方法,类应该定义成抽象类。(5级)
48、不要显式导入java.lang.*包;
49、初始化时不要使用类的非静态属性。
50、显式初始化所有的局部变量。
以上,就是小编整理的如何成为一名合格java程序员的文档,希望帮助到大家!