這篇文章主要是對我收集的一些文章的摘要。因為已經有很多比我有才華的人寫出了大量關於如何成為優秀Python程式設計師的好文章。
我的總結主要集中在四個基本題目上:函數語言程式設計,效能,測試,編碼規範。如果一個程式設計師能將這四個方面的內容知識都吸收消化,那他/她不管怎樣都會有巨大的收穫。
函數語言程式設計
命令式的程式設計風格已經成為事實上的標準。指令式程式設計的程式是由一些描述狀態轉變的語句組成。雖然有時候這種程式設計方式十分的有效,但有時也不盡如此(比如複雜性) —— 而且,相對於宣告式程式設計方式,它可能會顯得不是很直觀。
如果你不明白我究竟是在說什麼,這很正常。這裡有一些文章能讓你腦袋開竅。但你要注意,這些文章有點像《駭客帝國》裡的紅色藥丸 —— 一旦你嘗試過了函數語言程式設計,你就永遠不會回頭了。
- http://www.amk.ca/python/writing/functional
- http://www.secnetix.de/olli/Python/lambda_functions.hawk
- http://docs.python.org/howto/functional.html
效能
你會看到有如此多的討論都在批評這些“指令碼語言”(Python,Ruby)是如何的效能低下,可是你卻經常的容易忽略這樣的事實:是程式設計師使用的演算法導致了程式這樣拙劣的表現。
這裡有一些非常好的文章,能讓你知道Python的執行時效能表現的細節詳情,你會發現,通過這些精煉而且有趣的語言,你也能寫出高效能的應用程 序。而且,當你的老闆質疑Python的效能時,你別忘了告訴他,這世界上第二大的搜尋引擎就是用Python寫成的 —— 它叫做Youtube(參考Python摘錄)
- http://jaynes.colorado.edu/PythonIdioms.html
- http://wiki.python.org/moin/PythonSpeed/PerformanceTips
測試
如今在電腦科學界,測試可能是一個最讓人不知所措的主題了。有些程式設計師能真正的理解它,十分重視TDD(測試驅動開發)和它的後繼者BDD(行為 驅動開發)。而另外一些根本不接受,認為這是浪費時間。那麼,我現在將告訴你:如果你不曾開始使用TDD/BDD,那你錯過了很多最好的東西!
這並不只是說引入了一種技術,可以替換你的公司裡那種通過愚蠢的手工點選測試應用程式的原始釋出管理制度,更重要的是,它是一種能夠讓你深入理解你 自己的業務領域的工具 —— 真正的你需要的、你想要的攻克問題、處理問題的方式。如果你還沒有這樣做,請試一下。下面的這些文章將會給你一些提示:
- http://www.oreillynet.com/lpt/a/5463
- http://www.oreillynet.com/lpt/a/5584
- http://wiki.cacr.caltech.edu/dan…._Integration_testing
- http://docs.python.org/library/unittest.html
編碼規範
並非所有的程式碼生來平等。有些程式碼可以被另外的任何一個好的程式設計師讀懂和修改。但有些卻只能被讀,而且只能被程式碼的原始作者修改 —— 而且這也只是在他或她寫出了這程式碼的幾小時內可以。為什麼會這樣?因為沒有經過程式碼測試(上面說的)和缺乏正確的程式設計規範。
下面的文章給你描述了一個最小的應該遵守的規範合集。如果按照這些指導原則,你將能編寫出更簡潔和漂亮的程式碼。作為附加效應,你的程式會變得可讀性更好,更容易的被你和任何其他人修改。
- http://www.python.org/dev/peps/pep-0008/
- http://www.fantascienza.net/leonardo/ar/python_best_practices.html
那就去傳閱這這些資料吧。從坐在你身邊的人開始。也許在下一次程式設計師沙龍或程式設計大會的時候,也已經成為一名Python程式設計高手了!
祝你學習旅途順利。