这是一段JDK11里的一段源码,很明显这是段有问题的代码,是个bug。
之所以出现这样的低级错误,是因为这里用到了条件运算符。
如果使用条件语句,而不是条件运算符,这个幼稚错误发生的概率会急剧下降。 坚持使用最直观的编码方式,而不是追求代码简短,真的可以避免很多不必要的错误。
现在,如果你要再问我喜欢哪种编码方式,毫无疑问,我喜欢使用条件语句,而不是条件运算符。因为,用条件语句这种编码方式,可以给我确定感,我也不需要挑战什么高难度动作;而看代码的人,也可以很确定,很轻松,不需要去查验什么模糊的东西。
减少错误、节省时间,是我们现在选择编码方式的一个最基本的原则。
“好”的代码与“坏”的代码
虽然对于“什么是优秀的代码“难以形成一致意见,但是这么多年的经验,让我对代码“好”与“坏”积累了一些自己的看法。
比如说,“好”的代码应该:
1. 容易理解;
2. 没有明显的安全问题;
3. 能够满足最关键的需求;
4. 有充分的注释;
5. 使用规范的命名;
6. 经过充分的测试。
“坏”的代码包括:
1. 难以阅读的代码;
2. 浪费大量计算机资源的代码;
3. 代码风格混乱的代码;
4. 复杂的、不直观的代码;
5. 没有经过适当测试的代码。
先就说这么多,欢迎各位提出自己的想法,一起交流学习。