管理感悟:軟體第一法則

柳鯤鵬發表於2019-02-06

管理感悟:軟體第一法則

 

 

柳鯤鵬

2017--

 

關鍵字:軟體 第一法則 一致性

簡介:軟體的第一法則,一致性,對的時候都對,錯的時候一齊錯。對於普通程式設計師,時刻想著做到兩點:沒有重複程式碼,沒有重複常數。

 

 

  話說吾也在軟體行業摸爬滾打了二幾年了。問精通什麼?不知道,還真的不知道。問水平如何?說真的,覺得自己水平還可以,但是周圍比自己強的人多如牛毛。自評是智商不高,基本功好。這是不是說,我們只有仰視別人的份?也不是,正所謂尺有所長寸有所短。這不,微軟的WINDOWS動不動就鬧出笑話。

  

  一次一位同事問吾,汝怎麼看軟體?吾想了一想,回答說:軟體是對現實世界的模擬,是思路的實現;更深刻的說,這個世界很有可能就是一些規則的作用顯現。相信這個理解應該是說到了根源。是不是這樣開發軟體就容易了呢?當然不是。對於世界是怎樣理解的?辦事件的思路如何?實現的技巧如何?基本功如何?這都制約著軟體的實現水平。

  比如客戶伺服器結構,其實就是政府辦事的模擬;而物件導向(吾認為這個詞比物件導向好),就是對人的模擬。

  

  對於普通程式設計師來說,軟體最關鍵的是什麼?經過長期軟體工作,吾得出的結論是:

  軟體第一法則,是一致性。

  

  這算什麼法則?吾以為汝能說出什麼驚天動地的言論呢。這可不要小瞧。就象在工作中,每個程式設計師覺得自己水平高,其實吾發現絕大多數程式設計師連基本功都沒有練好。離開基本功,奢談什麼其他軟體技術,那是空中樓閣。

  對於軟體高手來說,這個法則是自然就會的,自己也許沒有發現。對於普通程式設計師來說,這一法則代表什麼?對的時候都對,錯的時候一齊錯。吾以為有兩個關鍵點要做到:

  沒有重複程式碼。同樣的程式碼在不同地方重複,下次要修改時有的地方沒有修改,結果如何?產生不一致性。

  沒有重複常數。什麼意思?就是代表同樣含義的數字、字串,只允許出現一次。否則會怎樣?修改一處,另外一處沒有修改,自然的又產生奇怪問題,違反了一致性法則。

  做到這兩點容易嗎?不容易,很不容易。比如這個重複程式碼,怎麼寫、放哪裡就很麻煩,模組化、程式碼結構等等都要考慮好。如果汝能把這個簡單的事情做好,那麼肯定是高手。

相關文章