提高編程效率的14件事
下面是14件如何有效編程的方法:
1:計劃(Plan)
所謂Plan,其實就是對應于編程中的“設計”階段,當然,這里的Plan并不像設計那樣重量級。它要求我們程序員在正式編程前至少要考慮一下下面的問題:
你這個程序,工具或是項目的目的,究竟是用來干什么的。你只有知道做什么,要達到什么樣的目的,你才能做得對,做得好。
需要有什么樣的功能。需要你給出來個功能列表。這樣可以保證我們不會遺露了什么。
準備好一些技術難題的前期調查和解決方案。不要等到開始編程的時候才去想。
下面這你因為有“Plan”而得到的好處:
你能夠清楚地明白你要做的東西長什么樣?
你能清楚知道你要開發的東西要干些什么事?
你能夠在開發過程中解決你所有可能發生的難題。
2:使用偽代碼
偽代碼是一個非常不錯的方式,讓你可以看到你要寫的程序長什么樣?根據 維基百科(Wikipedia),偽代碼被寫定義成這樣:
偽代碼是一個緊湊和非正式的從高層描述一個計算機編程算法的結構約定。其主要是為了讓人閱讀而不是讓計算機執行。典型的偽代碼一般會忽略那些算法中不需要人去關心的細節。比如:變量聲明,系統調用,或是子程序。在偽代碼中,編程語言被自然的人類語言所增強而放大,從而,更方便,更緊湊。
一些人并不喜歡偽代碼,因為他們并不相把同樣的代碼寫兩遍,一遍是偽代碼,一遍是真代碼。其實,這是可以理解的,因為兩個copy的東西是比較不好維護的。但是我想,這是可以權衡的,如果的算法很簡單,那么就不需要偽代碼了,如果你的算法比較復雜,比較繞,那么,有一個偽代碼提綱挈領將會是一件非常不錯的事情,因為他有利于讓別人從一個簡單的文檔來了解一個復雜的算法或系統。這就好像一個電線的布線圖一樣,你可以很容易地通過一個簡單的文檔從復雜的實現中找到頭緒。
3:書寫清楚的注釋
請在你的代碼中書寫清楚的程序注釋。當然,注釋不是越多越好,注釋應該是簡明扼要的,如果你的程序足夠地清楚簡單,那么注釋就會顯的多余。另外,注釋應該是注釋“原因,理由,目的”,而不是注釋“是什么”,在“酷殼”的另一篇文章《惹惱程序員的十件事》中,有一條就是關于壞的注釋是多么的另個討厭。
4:使用自動的編輯工具
自動的編輯工具有很多,比如 Typinator,這是一個可以通過設定一些替代的簡單代碼來實現重復語句的快捷插入,比如你自己的簽名、常用的語句等等,通過它可以設定替代的簡短代碼。還有其它一些代碼自動完成的工具,比如一些VC的插件,還有像Source Insight這樣的東西。別小看這一點點時間,如果你每天都在寫代碼的話,今天一點點,明天一點點,將會為你省出很多的時間。
5:減少代碼
減少代碼的數量,堅持DRY(Don’t Repeat Yourself) 和KISS(Keep It Simple & Stupid) 原則。這樣可以有交物減少代碼的復雜度,提高程序的易讀性和可維護性,同時也能增加代碼的質量。
6:代碼重用
DRY (don’t repeat yourself) 原則就是告訴我們需要重用現有的代碼。這樣,你才能夠站在巨人的肩膀之上,從而可以更多的關注和自己所要處理業務的邏輯。編程的最高境界就是寫出來的代碼是可能被重用的,重用和泛型這是編程里始終在追求的目標。
7:代碼重構
一些老的代碼可能已經不合時宜了,比較以前老的C++的STL庫在多線程下可能會出現很多問題。所以,我們自己的代碼也是一樣的,每過一段時間,我們需要把這些代碼回收再利用,這就是軟件的重構。重構代碼所追求的并不是要提供更多的功能,而是讓老的代碼更有生命力,讓老的代碼跟上時代,更具擴展性,靈活性。
8:使用設計模式
設計模式是一種從代碼級解決某一些問題的方法論。這個世界上有很多很多的設計模式,比如MVC,單實例,工廠,觀察者等等,等等。使用好的設計模式可以讓你的代碼更具重用和擴展性。關于設計模式,請參看本站的另一篇文章《101個設計模式》
9:使用程序框架Framework
Frameworks 是一份給程序員的禮物,他們幫助你完成了很多很細節的事情,他們有可能是一個lib庫,你需要進行簡單的拼裝,一個幾乎完成了的軟件框架就已形成。這是一個能夠給開發工作提速的東西。只要上網隨便搜一搜,你可以看到太多太多的框架了。形形色色,幾乎都是開源社區貢獻的。
10:泛型編程
如果抽像出一些程序中相似的東西,然后把這些相似的東西用一個標準的東西實現,這也是編程所追求的最高境界之一,像諸如C++中的STL之類的東西就是此類東西的最佳體現。靈活之及,幾乎都快放之四海皆準了。
11:使用開源的代碼
這個世界上有太多太多開源的代碼了。學會利用他們可以讓你更節省時間和精力,因為我們完全沒有必要把相當的東西實現若干次,學會使用開源的代碼不但是一個學習的過程,同樣也是一個增加編程效率的事情。
12:完善開發環境
開發環境非常重要,因為好的開發環境可以讓你事倍功半。他們可以讓你不需要關注別的東西,比如,我曾看過某程序員在調整編輯器的字體和高亮上花費了不少工夫。是的,這是值得肯定了,只有把開發環境變得舒服,才能讓自己更好的編程。
13:使用調試器
學會使用調試器來調試代碼,單步跟蹤,變量值跟蹤,內存,堆棧等等。熟練地使用調試器可以讓你更好的查找程序的問題,以得到最優的代碼。
14:使用版本管理工具
版本管理工具應該是任何程序員都應該要去學會使用的東西,特別在一個團隊中,如何管理程序的不同版本,如何維護,存放代碼,版本管理工具絕對是開發過程中不可少的東西。其意義絕對不只代碼備份和共享那么簡單。下面是一些開源的管理管理工具:Git,SVN,CVS和Bazaar。
【編輯推薦】