如何提高代码质量?

对伟大前锋来说,进球,以及一个能够迸发出进球能力的身体非常重要。


  对靠谱程序员来说,代码质量,以及一颗能够洞悉高质量软件编写之道的大脑弥足珍贵。


  本文从产品,接口,指标,日志,代码清晰度,代码复杂度等方面,谈谈如何提高代码质量。


  产品和接口


  好的产品经理未必是个好的程序员,但好的程序员一定是个好的产品经理。


  产品经理的工作是什么?是把复杂的逻辑用清晰的,易用的方式(接口)展现给用户。


  程序员的产品是代码,代码的用户是其它程序员——所以高质量的代码是让别的程序员容易理解,容易使用的代码。注意,这个层次的容易理解,是指结构,原理和接口上容易理解,而并非代码的细节容易理解。


  细节在产品这个层次,一定要隐藏起来。用户在打开浏览器,访问arcblock.io的时候,并不需要关心DNS是怎么工作的,PKI体系是怎么运作的,HTTP/TLS/TCP/IP协议是什么,报文是怎么从userspace交付到kernelspace,再怎么DMA到网口发送出去——这还没完,接下来出场的,还有负责l2protocol的switch,保护你安全的firewall,邮递员router,以及明明概念上是网络技术,却整个青春都错付给了安全的NAT。。。


  如果产品经理做的产品展示给用户是这样巴拉巴拉的细节,那么丫一定会被扯烂暂住证,大耳光从天黑抽到天亮,然后早班绿皮车送到清河去挖沙;如果程序员的main()如此啰嗦,不管人家受得了受不了,那么他这辈子笃定找不到同性朋友,更别说异性了。


  所以程序员在写代码之前,先要想想如果这是一篇演讲稿,我该如何说起?我能在三五分钟讲清楚这代码要干什么?有没有生活中或者同行会心一笑立刻get到的例子可以类比?


  90%以上的情况,程序员是在写parser。换句话说,我们写的绝大部分代码就是把一系列的输入,经过若干转换(transformation),变成一系列输出。

评论(0)
暂无评论

Hi, 欢迎加入昕昕网络教程技术交流群,带你装逼带你飞!

我要入群
Copyright © 2005-2018 昕昕网络教程
Hello,欢迎来咨询~
新手教程 技术支持 0771-6793789 电话咨询 回到顶部