最近因为加入一个新的团队,才开始认真的关注关于编写高质量代码的话题,学习总结的同时,记录下这段让自己再一次认真学习的过程。
想成为架构师、项目经理、分析师、设计师等这些角色,首先你应该是程序员。很难想象一个没有编写过“Hello World”的架构师能够构思出什么样牛(qi)逼(pa)的,所以代码是前进的基石,So,高质量的代码更是不可或缺的。
“代码首先是给人看的,之后才是给机器运行的”这句话相信都听过或者说过,个人理解编写高质量代码的关键思想是代码应当易于理解,编写的代码应该让他人理解代码所需的时间最小化。代码易于理解,无论是对于代码的创作者或者日后接手的维护者来说,都是一个福音,因为需求是会变的,代码需要变更。
大家都编写过简短的代码,但总是越简短越好吗?
看看下面这段代码:
showName=((null != findUserById("123") && findUserById("123").isAvailable==true) ? findUserById("123").getShowName() : "游客") ;
再看看下面这段代码:
showName="游客";
User user=findUserById("123");
if(null != user && user.isAvailable==true){showName=user.getShowName();}
对比上面的这两段代码,虽然第二段比第一段多了两行,但是看上去比第一段更容易理解,而且在性能上比第一段更好。因此,缩短程序代码是一个好目标,但是理解代码的最小时间是一个更好的目标。
写到这可能会有一个问题,如果遇到其它目标和易读性相冲突怎么办?个人觉得在向其它目标努力的时候,同时也是可以保证易读性的,两者可以同时兼行。
后续会记录在编写代码时的建议及注意事项。