標籤:
轉自:如何成為Python高手
這篇文章主要是對我收集的一些文章的摘要。因為已經有很多比我有才華的人寫出了大量關於如何成為優秀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/danse/index.php/Unit_testing_and_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編程高手了!
相關文章:《9本免費的Python編程書》
如何成為Python高手