2014-07-24 38 views
1

函數參數的名稱是否應反映使用它們的函數的上下文? 爲了讓在Python的一個具體的例子,(從this教科書截取):Python中函數參數的命名約定

def create_radio_button(rb_name, rb_value): 

VS

def create_radio_button(name, value): 

Python style guide建議使用下劃線,以避免衝突的關鍵字,但沒有提到使用前綴在論據中。在Bob Clean Code中,Bob Martin建議選擇可發音的變量名稱並避免編碼,這可能與前綴rb_相關。但是,他通過聲明變量名稱應該是可搜索的。我的主要目標是提高代碼的清晰度,所以我很樂意聽到人們最容易找到的東西。

+0

將問題遷移到程序員.S? – Netch

回答

2

這取決於上下文,也許在一定程度上取決於個人偏好。

def create_radio_button(name, value) 

推薦上面比其他選擇這裏,是因爲我可以從我們在談論一個單選按鈕,所以「rb_」前綴是多餘的信息,它在功能名稱已經重複的背景下看。

有關的變量名是搜索我猜的評論指的是使用一個變量名,如p,您可能希望搜索或突出的變量名稱,從而找到含有任何單詞的煩惱不佳實踐一個p。這個問題在這裏不太適用,「名稱」和「價值」就足夠可搜索*。

*最後一點是使用一個好的編輯器,在這裏我們可以重構/重命名符號和IDE應該足夠聰明,知道這裏的用法是在上下文中/範圍

0

這人有點無實際意義是一個比python更普遍的問題。參數名稱應該儘可能簡潔地描述它的角色(所以我會在你的例子中使用「name」和「value」)。 當然,這並不能代替實際的文件,爲此,我建議有些標準標籤

 :param name: description 
    :param value: description 

(你也可以它的名字前在上面添加參數的期望類型)

一般來說,函數應該比較短,所以'name'是函數的一個參數是相當明顯的。

我認爲使用rb_前綴只適用於全局變量,在python應用程序中,它應該是非常罕見的(最好使用類變量)。