如何寫出看得懂的Code?

  • 3009
  • 0

摘要:如何寫出看得懂的Code?

目前我所遇見的公司,常見的維護性政策,是要程式設計師寫Code的時候遵從Coding的規則,
用以達成程式碼人人看得懂的理想,
這樣的規則建構在一個起始點,如果大家所想、所寫出來的程式碼會一樣的話,那不管是誰,面對這樣的程式碼,
就一定看得懂,
這真是一個非常棒的理想,
這樣的話,等於是在看自己的程式碼而已,只要程式不是亂寫湊出來的,
一定可以順利維護,
不過,即使是實行這樣的理念的公司,
還是會聽到程式設計師抱怨別人寫的程式碼,不知道在寫什麼?
大家的程式碼都經過驗證,是使用相同的寫法寫出來的,
而也都遵守規定,使用即有的底層架構,不使用其他額外的功能,
使用的程式特性也都相同,
不過還是會出現"別人的程式到底在寫什麼"這樣的怨言,
這樣的原因,到底是什麼?
因為,每個人所負責的功能,一定不會一樣。
因為,每個人的思考方式,一定不會一模一樣。
因為,在撰寫程式碼的時候,並不一定能夠從容地、仔細地撰寫。
因為,即使在這樣的環境下,不可否認的,每個程式設計師還是有程度上的差異。
因為,不會每項需求都是底層架構都能夠輕易做出來的。
那麼,怎麼樣寫出大家都看得懂的程式?
大家都在充足的時間下撰寫程式?我想不會每個客戶都是這麼有耐心的。
把大家的程度調整到一樣?好像可以,不過新人和資深還是會有落差存在,而這個落差需要一段時間才可能會消失。
每個人都寫相同功能的程式碼,寫到一模一樣?我想,這樣子應該不是程式設計了,應該是拷貝吧。
不要做底層架構不能達成的功能?除非我們不想做客戶真正需要的軟體,除非我們的思考已經十全十美,但是,那通常很難辦到。
把大家的思考方式調整成一樣?人之所以為人,是因為我們各自都有自己的意識,自己的想法,如果能夠想得事情都一樣,關心的事情都一樣,那人類大概絕種了吧。
......
那真令人絕望呀,
似乎沒有方法可以容易看懂別人的程式,就像看自己的程式碼一樣,
是的,我就是這麼想的,不會有人的程式,會比自己的程式更容易看懂,
所以這樣的狀況一直都存在。
不過,不可避免的,我們必須去維護別人所留下來的程式,必須去處理不是自己寫的程式碼,
而我們自己的程式碼也會讓別人來處理,
因此,我們還是需要把程式寫得讓別人儘量看得懂,
那麼,讓程式使人看不懂的原因又是什麼?
以自身的經驗,
程式碼太長、程式碼沒有依功能歸類、應付的程式、沒有適當的註解、修補太多次的程式,
這些程式是最容易讓人看不懂的,
因此,我相信只要把程式寫得短,就會讓人看懂,而且儘可能不要修補程式,
為了達成這樣的理念,
我們可以依循編程標準規範,讓一個函式的程式碼不要太多,一個檔案的程式碼也在一個範圍內,
這樣的話,相對上,一個函式會容易讓人看懂,
另外,使用物件導向的概念來設計,
使其他人不是去看自己的程式,而是去用程式,
這樣就沒有要看懂的問題,
而發生錯誤的部分,因為錯誤的部分是局部而且分離的程式碼,直接重寫那個部分,
這樣也沒有要看懂別人程式的需要,
我是這麼想的。
不過,重要的還是,團隊上程式設計師的能力是不是足以應付來得重要。