4000-9696-28

想要成为一名优秀的Java程序员,这份文档必读(二)

2019年11月29日 11:20供稿中心:北大青鸟总部

摘要: 想要成为一名优秀的Java程序员,这份文档必读(二)

你还记得当初你加入java程序员行列时候的誓言吗?你还记得熬过了多少夜晚就为了涨工资的画面吗?你还记得你为什么会选择加入java程序员这个行业吗?我想我们都为了成为一名优秀的的程序员,今天,小编整理一份文档关于《如何成为一名优秀的java程序员》,希望能帮助到大家!

1574817623(1).jpg

51、按照方法名把方法排序放置,同名合同类型的方法应该放在一起。

52、不要使用嵌套赋值,即在一个表达式中使用多个 = 。

53、不要在抽象类的构建器中调用抽象方法。

54、重载 equals() 方法的同时,也应该重载 hashCode() 方法。

55、工具类(Utility)不要定义构建器,包括私有构建器。

56、不要在 switch 中使用10个以上的 case 语句。

57、把 main() 方法放在类的最后。

58、声明方法违例的时候不要使用 Exception ,应该使用它的子类。

59、不要直接扔出一个Error ,应该扔出它的子类。

60、在进行比较的时候,总是把常量放在同一边(都放在左边或者都放在右边)。

61、在可能的情况下,总是为类定义一个缺省的构建器。

62、在捕获违例的时候,不使用 Exception, RuntimeException, Throwable,尽可能使用它们的子类。

63、在接口或者工具类中中定义常量。(5级)

64、使用大写‘L’表示 long 常量。(5级)

65、main() 方法必须是 public static void main(String[])。(5级)

66、对返回类型为 boolean 的方法使用 is 开头,其它类型的不能使用。

67、对非boolean类型取值方法(getter)使用 get 开头,其它类型的不能使用。

68、对于设置值的方法(setter)使用 set 开头,其它类型的不能使用。

69、方法需要有同样数量参数的注释 @param。

70、不要在注释中使用不支持的标记,如:@unsupported 。

71、不要使用 Runtime.exec() 方法。

72、不要自定义本地方法(native method)。

73、使用尽量简洁的的运算符号。

74、使用集合时设置初始容量。

75、单个首字符的比较使用 charAt() 而不用 startsWith() 。

76、对于被除数或者被乘数为2的n次方的乘除运算使用移位运算符 >>, << 。

77、一个字符的连接使用‘ ’而不使用 “ ”,如:String a = b + ‘c’。

78、不要在循环体内调用同步方法和使用 try—catch 块。

79、不要使用不必要的布尔值比较,如:if (a.equals(b)), 而不是 if (a.equals(b)==true)。

80、常量字符串使用 String, 非常量字符串使用 StringBuffer 。

81、在循环条件判断的时候不要使用复杂的表达式。

82、对于“if (condition) do1; else do2;”语句使用条件操作符“if (condition)?do1:do2;”。

83、不要在循环体内定义变量。

84、使用StringBuffer的时候设置初始容量。

85、尽可能的使用局部变量进行运算。

86、尽可能少的使用 ‘!’操作符。(5级)

87、尽可能的对接口进行 instanceof 运算。(5级)

88、不要使用 Date[] 而要使用 long[] 替代。

89、不要显式调用 finalize() 。

90、不要使用静态集合,其内存占用增长没有边界。

91、不要重复调用一个方法获取对象,使用局部变量重用对象。

92、线程同步中,使用 notifyAll() 代替 notify()。

93、避免在同步方法中调用另一个同步方法造成的死锁。

94、非同步方法中不能调用 wait() , notify() 方法。

95、使用 wait(), notify() 代替 while(), sleep() 。

96、不要使用同步方法,使用同步块。(5级)

97、把所有的公有方法定义为同步方法。 (5级)

98、实现的 Runnable.run() 方法必须是同步方法。 (5级)

99、一个只有abstract方法、final static 属性的类应该定义成接口。

100、在 clone() 方法中应该而且必须使用 super.clone() 而不是 new 。

101、常量必须定义为 final 。

102、在 for 循环中提供终止条件。

103、在 for, while 循环中使用增量计数。

104、使用 StringTokenizer 代替 indexOf() 和 substring() 。

105、不要在构建器中使用非 final 方法。

106、不要对参数进行赋值操作。(5级)

107、不要通过名字比较两个对象的类,应该使用 getClass() 。

108、安全:尽量不要使用内部类。

109、安全:尽量不要使类可以克隆。

110、安全:尽量不要使接口可以序列化。

111、安全:尽量不要使用友好方法、属性和类。

112、Servlet:不要使用 java.beans.Beans.instantiate() 方法。

113、Servlet:不再使用HttpSession时,应该尽早使用 invalidate() 方法释放 。

114、Servlet:不再使用JDBC资源时,应该尽早使用 close() 方法释放 。

115、Servlet:不要使用Servlet的 SingleThreadModel,会消耗大量资源。

116、国际化:不要使用一个字符进行逻辑操作,使用 Characater。

117、国际化:不要进行字符串连接操作,使用MessageFormat 。

118、国际化:不要使用 Date.toString() ,Time.toString() 方法。

119、国际化:字符和字符串常量应该放在资源文件中。

120、国际化:不要使用数字的 toString() 方法。

121、国际化:不要使用 StringBuffer , StringTokenizer类。

122、国际化:不要使用 String 类的 compareTo(), equals() 方法。

123、复杂度:建议的最大规模:

    继承层次 5层

    类的行数 1000行(包含{})

    类的属性 10个

    类的方法 20个

    类友好方法 10个

    类私有方法 15个

    类保护方法 10个

    类公有方法 10个

    类调用方法 20个

    方法参数 5个

    return语句 1个

    方法行数 30行

    方法代码 20行

    注释比率 30%~50%

以上,就是小编整理的如何成为一名合格java程序员的文档,希望帮助到大家!

————————————————

版权声明:本文为CSDN博主「程序yang」的原创文章,经授权发布本平台!


关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
启能职业教育基础课程
学习客户端下载
青鸟优师
青鸟云课堂
微信 公众号 咨询 顶部 首页
官方新版意见收集

*

官方新版意见收集

提交成功,感谢您的反馈。

我们会认真阅读和考虑每个用户的反馈。