如何判断程序员的代码是否优美?
非专业人士想欣赏一段代码,有哪些关键点是可以关注的呢?
简洁/整洁
我们在看一张书桌时,什么样的物件摆放和装饰风格是整洁的?
这样:
或这样的:
那么,杂乱的呢? 大概这样:
看一段代码也一样,简单、没用重复、可读性强就让人舒服。 即使有不可避免的,复杂的代码,仍然能读出逻辑。
举个简单的例子,我要输出 0-99 这100个数字。 不简洁的可能是这样:
简洁的可能是这样:
或这样:
这一点可深究的东西很多,专业人员可看一本书《代码整洁之道》: https://book.douban.com/subject/4199741/
命名
什么是好的命名? 别人一看到你的命名就知道你的代码要做什么,或者这个变量是干什么的。
比如这样的命名:
不好的命名不知道这段代码要做什么,第二种一看就知道我定义了一个结构体,表示「狗」 这个对象,狗有个名字 用 变量 name 表示。
命名除了可读,往往还需要准确,不啰嗦,比如下面两段代码:
我针对文件操作定义了 2个方法,读和写,第一种就显得有点啰嗦。
注释
优秀的代码本身有自说明的功能,不需要过多注释。
但在实现一些复杂功能,代码本身无法清晰地阐述作者的意图时,需要写注释。
且注释应该重点表达 「我为什么要这么做?」。
当然,如果代码包含难懂、比较关键的思路,也应该在注释中写清楚。
逻辑
逻辑优美这个概念有点抽象,常表现为代码结构层次明显,逻辑清晰,想法巧妙,有的代码看到就有种神来之笔的感觉。
大师级的程序员能把代码像故事一样表达出来,干净利落,代码有从上到下的自然的阅读顺序。什么情况下用动词,什么情况下用名词,都要经过考究。
排版
排版比较好理解,和我们一篇文章排版类似。不经过排版的代码很难看,更别提看懂了,类似这种经过压缩,完全去掉格式排版的 JavaScript 代码:
有排版的大概这样:
对程序员来说,比较好的是,现在的高级语言中,都提供了代码格式化的工具,或者风格检查约束,无需程序员过多的自己去排版,调整格式。
以上是几点比较简单的代码欣赏可以关注的点。
----------------------
公众号:life-is-x
知乎:OneZero
版权声明: 本文为 InfoQ 作者【Garfield】的原创文章。
原文链接:【http://xie.infoq.cn/article/8e9ac9db0524a662d82f33613】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论