如何提高代碼質量?

對偉大前鋒來說,進球,以及一個能夠迸發出進球能力的身體非常重要。


  對靠譜程序員來說,代碼質量,以及一顆能夠洞悉高質量軟件編寫之道的大腦彌足珍貴。


  本文從産品,接口,指標,日志,代碼清晰度,代碼複雜度等方面,談談如何提高代碼質量。


  産品和接口


  好的産品經理未必是個好的程序員,但好的程序員一定是個好的産品經理。


  産品經理的工作是什麽?是把複雜的邏輯用清晰的,易用的方式(接口)展現給用戶。


  程序員的産品是代碼,代碼的用戶是其它程序員——所以高質量的代碼是讓別的程序員容易理解,容易使用的代碼。注意,這個層次的容易理解,是指結構,原理和接口上容易理解,而並非代碼的細節容易理解。


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


  如果産品經理做的産品展示給用戶是這樣巴拉巴拉的細節,那麽丫一定會被扯爛暫住證,大耳光從天黑抽到天亮,然後早班綠皮車送到清河去挖沙;如果程序員的main()如此啰嗦,不管人家受得了受不了,那麽他這輩子笃定找不到同性朋友,更別說異性了。


  所以程序員在寫代碼之前,先要想想如果這是一篇演講稿,我該如何說起?我能在三五分鍾講清楚這代碼要幹什麽?有沒有生活中或者同行會心一笑立刻get到的例子可以類比?


  90%以上的情況,程序員是在寫parser。換句話說,我們寫的絕大部分代碼就是把一系列的輸入,經過若幹轉換(transformation),變成一系列輸出。

評論(0)
暫無評論

Hi, 欢迎加入豆奶视频app網絡教程技术交流群,带你装逼带你飞!

我要入群
Copyright ? 2005-2018 豆奶视频app網絡教程
Hello,歡迎來咨詢~
新手教程 技術支持 0771-6793789 電話咨詢 回到頂部