Fw: [翻譯] Google 建議的 Python 風格指南 1
※ [本文轉錄自 Python 看板 #1HUJuiXj ]
作者: sandwichC (沒回應=掛站) 看板: Python
標題: [翻譯] Google 建議的 Python 風格指南 1
時間: Thu Apr 25 22:31:04 2013
原文網址:http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
在下曾在 Google 工作過,因此確知 Python 在 Google 內被廣泛地使用 (至少幾
年前是如此)。
這份 Google 建議的 Python 風格指南,與 Google 內部的 Python 建議風格只有
幾個小地方不同,但這些相異處多半是因為語言演變及為了與舊的 code 一致所造
成的。整體而言,這份指南的實用程度相當高,其中很多建議也都列出施行的優缺
點及取捨的準則。
這份指南共有將近40點的建議,我計劃在未來的幾個月內逐條翻譯。這個翻譯不一
定會是逐字稿,有可能加上一點點個人的淺見。每篇文章可能只包含一兩條建議,
有興趣的人也歡迎插隊把還沒翻譯的建議事項翻成中文。:p
----------正文開始的分隔線----------
背景
----
Python 是 Google 內部主要的腳本語言。本文將條列出 Python 的建議用法與應避
免的事項。
Vim 的使用者可以用這份設定檔來格式你的程式:
http://google-styleguide.googlecode.com/svn/trunk/google_python_style.vim
若你使用 Emacs,使用預設的設定即可。
語言規則
--------
* pychecker
釋義:
pychecker 有助於找到 Python 程式碼中的臭蟲。如同編譯器能幫助編譯式語言 (如
:C, C++) 找到一些語法或打字上的錯誤,pychecker 通常也能找到 Python 程式碼
中類似的問題。另一個與 pychecker 類似的工具提 lint (編案:我自己常用的另一
個工具是 pyflakes)。然而,由於 Python 是一個動態語言,某些警告可能不正確,
但錯誤的警告並不常發生。
優點:
找出容易被忽略的錯誤,如:打錯字、變數未賦值就直接使用等。
缺點:
pychecker 並不完美。實際上,有時我們仍需直接或間接地忽略它的訊息,或者想辦
法改進程式。
決策:
永遠使用 pychecker (或類似的程式) 來幫助寫出更好的程式。
pychecker 的用法,請參照官網:http://pychecker.sourceforge.net/
若必要,可以用 module-level 變數 __pychecker__ 來適度地隱藏警告,如:
__pychecker__ = 'no-callinit no-classattr'
這種有系統的警告隱藏方式能幫助事後搜尋並重新檢視隱藏規則是否合宜。
pychecker 的警告項目條列,可從 pychecker --help 中找到。
若函式中一部份的輸入參數在該函式中沒被用到,pychecker 預設會提出警告。若要
隱藏此種警告,可以在該參數的名稱前加上 "unused_"。若不想改變參數名稱,可以
在函式的開頭用下面的方法要求 pychecker 隱藏此警告。
def foo(a, unused_b, unused_c, d=None, e=None):
_ = d, e
return a
理想上,pychecker 應確認 "unused_b", "unused_c", "d", "e" 的確未被使用。然
而,筆者實際測試 pychecker 0.8.18 的結果,pychecker 目前並未做此確認。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 75.102.68.115
→
04/25 22:53, , 1F
04/25 22:53, 1F
→
04/25 22:54, , 2F
04/25 22:54, 2F
→
04/25 22:54, , 3F
04/25 22:54, 3F
→
04/25 22:59, , 4F
04/25 22:59, 4F
推
04/25 23:22, , 5F
04/25 23:22, 5F
推
04/26 01:48, , 6F
04/26 01:48, 6F
推
04/26 02:21, , 7F
04/26 02:21, 7F
推
04/26 02:24, , 8F
04/26 02:24, 8F
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: sandwichC (68.232.121.105), 時間: 04/26/2013 08:07:18
推
04/28 09:30, , 9F
04/28 09:30, 9F
推
07/26 11:11, , 10F
07/26 11:11, 10F
Translate-CS 近期熱門文章
PTT數位生活區 即時熱門文章