编写高质量代码开篇

最近因为加入一个新的团队,才开始认真的关注关于编写高质量代码的话题,学习总结的同时,记录下这段让自己再一次认真学习的过程。

想成为架构师、项目经理、分析师、设计师等这些角色,首先你应该是程序员。很难想象一个没有编写过“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();}

对比上面的这两段代码,虽然第二段比第一段多了两行,但是看上去比第一段更容易理解,而且在性能上比第一段更好。因此,缩短程序代码是一个好目标,但是理解代码的最小时间是一个更好的目标。

写到这可能会有一个问题,如果遇到其它目标和易读性相冲突怎么办?个人觉得在向其它目标努力的时候,同时也是可以保证易读性的,两者可以同时兼行。

后续会记录在编写代码时的建议及注意事项。

原文发布于微信公众号 - JavaQ(Java-Q)

原文发表时间:2016-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏海天一树

结构化、半结构化和非结构化数据

结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。举一个例...

1.1K20
来自专栏IT技术精选文摘

《王者荣耀》2亿用户量的背后:产品定位、技术架构、网络方案等

66370
来自专栏数据派THU

手把手教你上手python库pydbgen(附代码、安装地址)

19360
来自专栏跨界架构师

过去这几十年,分布式系统的「数据一致性」精华都在这了!

        本文是本系列的第三篇。与前两篇《分布式系统关注点——数据一致性(上篇)》、《分布式系统关注点——通过“共识”达成数据一致性》形成完整的「数据一致...

19910
来自专栏数据小魔方

当PowerBI遇到R语言

PowerBI作为微软系最新的商务智能办公系统,自去年发布以来,一直都备受瞩目。 他的更新频次相当之高,功能更新迭代非常迅速。 大概对可视化领域稍有涉猎的朋友们...

53340
来自专栏分布式关系数据库探索

分布式关系数据库探索 - NewSQL 演化过程

回味过去,展望未来,开始分布式数据库探索之旅,首先了解历史,本文大致梳理一下数据库发展过程,从1970年到2018年,数据库的发展过程,仅供参考,交流和学习,感...

56310
来自专栏牛客网

BAT面经

因为也许我当时因为要实现梦想只有一条途径,可如果你选择了一条路,这并不意味着你要放弃其他的方式。——《跳出我天地》

18930
来自专栏微信终端开发团队的专栏

关于Android N的那些事

今年3月,Google破天荒提前半年发布了Android N开发者预览版。当然,作为一个不合格的谷粉并没有第一时间体验安装,因为至今仍然能够回忆起来去年今日此门...

31260
来自专栏牛客网

成都-阿里Java研发工程师面经

11号去成都参加阿里面试,网上预约的3点,两点半就到了,刚签完到马上就喊去面试。经历了一面二面和HR面。 一面 1.介绍一下你的项目,说一下哪个项目印象最深 ...

44280
来自专栏程序人生

Let it crash: 因为误解,所以瞎说

今天我知乎的时间线上反复出现了一个流毒甚广的帖子:「应该如何理解Erlang的“就让它崩溃”思想?」,十几个不懂装懂的回答,赞竟然都不少。 严格意义上来说,我之...

38370

扫码关注云+社区

领取腾讯云代金券