標籤:
1. 是否需要有代碼規範
對於是否需要有代碼規範,請考慮下列論點並反駁/支援:
- 這些規範都是官僚制度下產生的浪費大家的編程時間、影響人們開發效率, 浪費時間的東西。
- 我是個藝術家,手藝人,我有自己的規範和原則。
- 規範不能強求一律,應該允許很多例外。
- 我擅長制定編碼規範,你們聽我的就好了。
首先,代碼規範是一定要有的,這一點不容置疑。記得剛學C語言時,老師跟我們講一些編碼的例子,譬如說等號兩邊要加空格,運算子的兩邊也要加空格。那個時候打心眼裡覺得這些規矩太過繁瑣迂腐,覺得咱們中國人就是喜歡搞這種形式化的東西。
大二的上學期,我在coursera上面報名了一門普林斯頓大學的演算法課程,這門課程可謂是好評如潮。然而在第一次提交編程作業時我就傻眼了,評測系統甚至對於代碼的風格也有明確的測試,有一處不通過都無法正確提交。風格甚至細化到for迴圈內部的分號和下一語句間要空一格,If語句的括弧兩邊都要有空格……
說心裡話,按照系統的提示,將代碼一點一點修改後,明顯感覺到代碼從視覺上更為美觀了。與此同時我也逐步發現身邊的同學們也在養成這樣的習慣,自己也理解了這樣規範的意義所在。所謂規範,更像是一種約定俗成的慣例,你可以選擇不遵守,規範並不是法律。但是只要你需要融入一個集體,需要和一群人進行交流,合作完成一個項目,需要閱讀別人的代碼也需要把自己的代碼供他人閱讀,這時候,規範的價值就得以體現。如果團體內的成員都能夠遵守同樣的規範,養成一種被普遍接受的代碼風格,那麼會減少很多閱讀習慣帶來的困擾,能夠讓大家心情愉悅。
基於以上的感悟,其實上面的幾個問題就不難回答了。
1.比起在命名上花點心思、敲幾個空格浪費的時間,讀代碼時不能正確理解變數的含義,因為代碼堆在一起看著心情煩躁更加影響效率、浪費時間。
2.這一點並沒有問題,如果你的能力特彆強,能夠獨立支撐起一個龐大的項目,在今後的工作中完全不需要和別人合作,那你可以特立獨行。
3.適度的例外沒有什麼問題,像是大括弧的使用習慣大家就各有不同。但是太多的話,還是盡量使自己適應福士習慣好一些。
4.有資格說這句話的人,整個電腦科學界,死了的都算上也就不超過十個吧。
個人部落格作業第二周——是否需要有代碼規範