我最近在Python(numpy)中編寫了一個方法,可以在單個元素上執行操作,也可以在數組上執行元素操作。Python中重載參數的命名約定
例如:
i
這裏可以是一個單一的指數,或它們的陣列,這使得描述性命名它困難。
而且,在更一般的情況下,一個名稱應該如何重載可以有很大不同含義的參數?這裏有一個(虛構的)例子:
def doTheThing(flag, item):
if(flag == 0):
useOneWay(item)
else:
useTotallyOtherWay(item)
如果item
代表在這裏兩個完全不同的事情,這取決於flag
,究竟應該如何命名?
有兩個帶默認值的命名參數會更好嗎?例如
def doTheThing(flag, item1=None, item2=None):
也許這樣的情景即將到來本身就是不好的編程實踐的指示,和最好的解決辦法是重新分解成不同的方法來處理各種情況。
基本上,是否有一個Python命名約定在這裏給出了方向?在PEP8中我找不到任何特別引用參數過載的東西。
爲了儘量保持這個主題並且不加評論,請在您的答案中引用一些有信譽的源代碼(PEP8或Python中的其他大名)。然而,我很樂意在評論中聽到個人意見。
如果它只有兩個變體,我將它命名爲例如'carOrCarList'我不喜歡打電話給'item',除非它真的是通用的。始終在儘可能最小的範圍內命名變量。 如果它會超過兩個(或三個)變體,請使用通用名稱(如項目),並在註釋中描述它可能是什麼。 –