啊,大海啊,都是水。
啊,駿馬啊,四條腿。
啊,代碼啊,如流水。
可是你為何又那麼美。
漂亮的代碼,就像一首詩一樣,讀來讓人心動。
小司機就很想做一個詩人,用代碼進行創作。
寫山,寫水,寫人生。咳咳。
可現實是殘酷的,小司機最近寫的代碼,反反覆覆,修修改改,可是別說優美了,連code review都過不了!!!
這是什麼概念, 朋友們你知道嗎?
所謂code review,就是字面的意思,代碼審查。
(覺得review在這裡是複習的意思的小夥伴們,應該補習英文了哦。code review是個固定搭配,不要問為什麼,記住就好,這次月考可能要考的。)
小司機現在寫的代碼,在被放到公司項目裡之前,得經過一層代碼審查。
然鵝,就是這層審查讓你們的朋友開始懷疑人生。
寫完代碼好開心啊,測試幾遍好用了,更開心了。
看我提交代碼!嘿嘿嘿。
悲劇發生了。。。。。。
同事看完我的代碼,直接給我一個大✘,都不測試我的代碼好不好用!!!
難道是我的同事討厭活潑可愛善良的小司機嗎?!當然不是!!
難道是我的同事龜毛嗎?當然不是!!
原因只有一個!!!
小司機的代碼實在是寫得太醜了!!!
一點都不像一首詩!!!
於是,小司機最近就陷入修改代碼格式的深淵。
深夜刨冰箱,越來越胖。
蟄伏在小司機身邊,一直伺機鞭笞小司機的大牛,又來拷問我的靈魂了,這次他問我:「為什麼你寫的代碼連code review都過不了?!」 (想看大牛之前對小司機的拷問,查看歷史文章《算法是啥?一定得學嗎?》。)
是啊?為什麼?!為什麼?!
其實我是知道的。
在很久以前,我的代碼到處都是亂糟糟的注釋,空格和Tab混用,分號有時多,有時少。寫完以後自己都不想看啊!!!我知道這種代碼是不可能過的。
於是,我改了。
現在小司機的代碼一眼掃過去看起來很專業,可是代碼中隱藏的問題,怎麼會逃過同事老司機的法眼呢?
同事在給❎的同時,總是伴隨著很多細緻的建議。遇到這樣的同事一定要珍惜啊,簡直是職業生涯的貴人,助你進步,幫你成才!!!
通過研究建議,小司機總結出一下代碼審查不過的五條常見理由!!!
1)命名不規範
2) 代碼不夠簡潔,沒有充分重用代碼
3) 邊界情況沒有考慮周全
4)實現方法設計不巧妙
5)沒有想到以後的拓展性
命名不規範,最常見的低級錯誤是大小寫不同意,這個很好改正,仔細點就沒問題了。可是,起個好名字很難。舉個例子,定時器就應該教」定時器「。起名叫「設定時間的東西」,或者「改「都不行。取名字是人類永恆的難題。
代碼簡潔這是代碼界的一個著名原則,還有個酷酷的英文新發口訣,叫做DRY, 是Do not repeat yourself 的縮寫。翻譯成不要自我重複。說起來容易,做起來不簡單啊!!!一不留神,就寫出兩段相似的代碼。
邊界情況沒有考慮周全,這個就是說沒有想到所有的可能情況。解決方法就是使勁想。因為這個要非常小心,不然會為日後埋下隱患的地方啊
實現方法設計不巧妙有點難了。很多時候你寫的代碼是好用的,但是別的寫法更好,因為更符合設計模式。這需要一定的積累,才能解決。解決了這,你的代碼離詩就不遠了。
想到以後的拓展性也很不容易,可是優秀的程式設計師寫代碼是會考慮未來的。今後的開發和維護就和今天的功能一樣重要,甚至更重要,我們要著眼於未來啊!
唉,真的好難啊啊啊啊!!!
沒關係,沒關係,深呼吸,讓我們一點點來。
先寫出乾淨的代碼,再寫出簡潔的代碼,讓隊友看懂,讓自己舒心。創造出設計精巧,易於維護的優美代碼。明天就是屬於你的!!!
好了,親愛的朋友們,小司機改代碼格式去了。
祝你們好夢。
希望最終和大家一起成為一個代碼詩人。
引用:
1.文章開頭的詩非原創,來自遙遠的記憶,最初出處未考證。
2.文中狗狗圖片來自於微信表情包小肥柴,作者紫龍。
最後,長按二維碼關愛你的朋友小司機,一起進步成為代碼詩人吧!