Python高手是如何練成的

本文是從 How to become a proficient Python programmer 這篇文章翻譯而來。

這篇文章主要是對我收集的一些文章的摘要。因爲已經有很多比我有才華的人寫出了大量關於如何成爲優秀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編程高手了!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章