當,規範什麼都不是

最開始接觸規範的時候是在世界500強企業裏面,我記得架構師當時給出了編碼規範,namespace命名規範,數據庫對象命名規範。最開始的時候,我也是比較輕視這塊的東西。java

直到後面成爲一個上了年紀開發。我之因此說,規範什麼都不是,是由於不少企業規範都有,但是就是沒有人來執行。數據庫

擺在紙面上的規範什麼都不是!編程

因此,今天的問題是:架構

如何讓紙面上的規範落實在平常的開發運維過程當中?運維

先了解一下規範有哪些?工具

image

來了解一下google怎麼看待規範的。。http://www.vaikan.com/google-coding-standards/google

咱們在谷歌所作事情中另一個讓我感到異常有效、有用的制度是嚴格的編碼規範。編碼

在到Google工做以前,我一直認爲編碼規範沒有什麼用處。我堅信這些規範都是官僚制度下產生的浪費你們的編程時間、影響人們開發效率的東西。spa

我是大錯特錯了。code

在谷歌,我能夠查看任何的代碼,進入全部谷歌的代碼庫,我有權查看它們。事實上,這種權限是不多人能擁有的。可是,讓我感到驚訝的倒是,如此多的編碼規範—縮進,命名,文件結構,註釋風格—這一切讓我出乎意料的輕鬆的閱讀任意一段代碼,並輕易的看懂它們。這讓我震驚—由於我覺得這些規範是微不足道的東西。它們不可能有這麼大的做用—但它們卻起到了這麼大的做用。當你發現只經過看程序的基本語法結構就能讀懂一段代碼,這種時間上的節省不能不讓人震撼!

反對編碼規範的人不少,下面是一些常見的理由,對於這些理由,我之前是深信不疑。

 

規範的執行到底怎麼解決呢?

規範簡單的能夠分爲兩類,第一類規範是能夠使用工具強制執行的,另外一類規範是暫時沒法用工具來強制執行

 

第一類很簡單,

好比,咱們說的編碼規範,在咱們上線編譯的全部java代碼都要經過checkstyle(靜態代碼格式檢查)代碼,編譯不經過本身改吧。這樣作後,無須其餘人員參與,簡單粗暴好使。

使用統一的Maven編譯模型下面,配置

image

checkstyle:check -Dcheckstyle.config.location="http://jenkins.umoffice.com/UMCheckStyle.xml"

固然,咱們也把fingbug加入到檢查中,以確保一些代碼缺陷能早期發現,並沒有法經過編譯。

 

第二類比較麻煩一些,由於它的確須要到人工干預了。

咱們的實踐中是採用jira中的upRaise工具,進行Give Feedback方式

看一個例子

image

例子二,基於jira case來進行feedback

image

 

這種feedback能夠用於作360環評的數據依據。

總結一下,對於沒法使用工具強制執行的,須要一個體系來保證有人來干預,並進行留痕,以確保規範可以深刻人心,並獲得提升。

不少公司難以對具體技術員工進行績效評估,就是由於沒法創建其穩定、有效的評估體系 -- 說的太遠。

 

因此,今天的話題就到這裏,規範什麼都不是,能執行的規範就是法寶!夏娃

相關文章
相關標籤/搜索