如何提高代码质量?( 二 )
产品经理的工作是什么?是把复杂的逻辑用清晰的,易用的方式(接口)展现给用户。
程序员的产品是代码,代码的用户是其它程序员 —— 所以高质量的代码是让别的程序员容易理解,容易使用的代码。注意,这个层次的容易理解,是指结构,原理和接口上容易理解,而并非代码的细节容易理解。
细节在产品这个层次,一定要隐藏起来。用户在打开浏览器,访问 arcblock.io 的时候,并不需要关心 DNS 是怎么工作的,PKI 体系是怎么运作的,HTTP / TLS / TCP / IP 协议是什么,报文是怎么从 user space 交付到 kernel space,再怎么 DMA 到网口发送出去 —— 这还没完,接下来出场的,还有负责 l2 protocol 的 switch,保护你安全的 firewall,邮递员 router,以及明明概念上是网络技术,却整个青春都错付给了安全的 NAT。。。
如果产品经理做的产品展示给用户是这样巴拉巴拉的细节,那么丫一定会被扯烂暂住证,大耳光从天黑抽到天亮,然后早班绿皮车送到清河去挖沙;如果程序员的 main() 如此啰嗦,不管人家受得了受不了,那么他这辈子笃定找不到同性朋友,更别说异性了。
所以程序员在写代码之前,先要想想如果这是一篇演讲稿,我该如何说起?我能在三五分钟讲清楚这代码要干什么?有没有生活中或者同行会心一笑立刻 get 到的例子可以类比?
- 失眠后如何治疗 有哪些方法呢
- 如何护理身体 早上晨练有何好处
- 练瑜伽为什么要选择瑜伽馆,而非健身房?
- 推进网络安全法治建设,提高网络治理能力
- 老司机教你如何赶上 “绿波带”
- 总结一些常见的运动问题!想提高运动体验的你,来开眼界吧
- 如何解决你的大象腿?其实用这些跑步方法就能收获好的效果!
- 网络时代如何保障“离线权”
- 戴上博士帽冲击东京奥运?孙杨是如何成为“学霸”的
- 心理学:在这张图里你第一眼看到的是什么?测你最近的状态如何