顯示廣告
隱藏 ✕
※ 本文為 nakts0123.bbs. 轉寄自 ptt.cc 更新時間: 2013-05-05 19:07:29
看板 Python
作者 sandwichC (沒回應=掛站)
標題 [翻譯] 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
uranusjr:相關閱讀:PEP 8 http://goo.gl/ouQap1F 04/25 22:53
PEP 8 -- Style Guide for Python Code
PEP 8 -- Style Guide for Python Code ...
 
uranusjr:PEP8 style checker https://pypi.python.org/pypi/pep82F 04/25 22:54
pep8 1.4.5 : Python Package Index
Python style guide checker ...
 
uranusjr:SublimeCodeIntel recommended for Sublime Text users3F 04/25 22:54
uranusjr:還有一個 SublimeLinter 有自動 PEP 8 檢查
Yoxem:或許可以M文?5F 04/25 23:22
caty1010:期待大大繼續分享6F 04/26 01:48
BBBroflovski:期待分享+1 非常實用啊7F 04/26 02:21
wangm4a1:推8F 04/26 02:24
swpoker:可以偷問一下有java版嗎9F 04/26 11:22
swinds24:推!!! 很實用!!!10F 04/26 13:57
ck574b027:原來這很實用啊,我還以為大家都知道,早知道也來翻一下11F 04/26 14:05
liangjr:Java可以看這篇匯入Eclipse http://goo.gl/xh5SG12F 04/26 15:21
Eclipse中使用google代码风格 - 傲慢的上校的专栏 - 博客频道 - CSDN.NET 在android项目中,特别是合作项目中,代码风格一致对于代码的编写特别重要,本文简单的讲一下如何在eclipse中导入google编码风格文件,关于更多内容,可以参考官网: ...
 
ibmibmibm:可以轉Translate_CS喔XD13F 04/26 16:04
ibmibmibm:疑?已經轉了XD
sandwichC:ck574b027歡迎插隊翻譯15F 04/26 21:21
POSIX:推阿!16F 04/26 22:37
kilfu0701:推一個17F 04/27 02:15
darkgerm:推!! coding style 真的很重要18F 04/27 13:11
polarpolar:好翻譯,不推嗎?19F 05/01 01:54

--
※ 看板: Gabinius 文章推薦值: 0 目前人氣: 0 累積人氣: 57 
作者 sandwichC 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇