2010-01-16 88 views
0

對於具有單位和值的方法參數名稱有以下兩種選擇,您更喜歡哪種?爲什麼? (我用Java語法,但我的問題將適用於大多數語言)。方法參數名稱應該用名稱指定它的單位嗎?

public void move(int length) 

public void move(int lengthInMetres) 

選項(1)似乎是足夠了,但我發現,當我m編碼/打字,我的IDE可以告訴我我需要一個長度值,但是我通常必須打破步伐並查找方法的doco來確定單位,以便我傳遞正確的值(而不是米而不是米例如)。這可能是一個煩人的思維過程中斷。選項(2)緩解了這個問題,但可以是冗長的,特別是如果你的單位是metresPerSecondSquared或者其他的。你認爲哪一個最好?

回答

0

我會建議儘可能使你的參數(和方法)名稱儘可能清晰,即使它們變得羅嗦。如果您在6個月的時間內查看或使用該代碼,或者其他人必須查看您的代碼,則會很高興。
如果您認爲名稱變得太長,請考慮對它們進行重新說明。在你的例子中,你可以使用參數名稱int Metres,這可能會足夠清楚。考慮更改方法名稱,例如public void moveMetres(int length)

在Visual Studio中,當您在方法定義上方輸入3個註釋符號時生成的XML註釋將在您在其他位置使用該方法時顯示在Intellisense提示中。其他IDE可能具有相似的功能。

應謹慎使用縮寫。如果絕對必要,只使用通用的和/或相關的行業標準縮寫並保持一致,即使用相同的縮寫無處不在

退後一步。編寫代碼然後轉到其他的東西。第二天回來,檢查名稱是否仍然清晰。

同行評審也可以提供幫助。問問知道編程語言的人(或者只是邏輯思考),而不是具體的功能,如果你的命名方案足夠清晰或者有助於頭腦風暴替代方案。他們可能是未來必須維護你的代碼的可憐的汁液!

0

我更喜歡第二種方法(即lengthInMeters),因爲它準確地描述了該方法所需的輸入。事實上,當你只是編寫代碼時,發現單元的混淆意味着當你(或某個人)稍後查看同一段代碼時會更困惑。關於變量名問題更長,您可以找到縮寫的方法(比如「mtrsPerSecondSquared」)。

同樣在防禦第二種方法中,書Code Complete提到了一項研究表明,當變量名稱平均爲10到16個字符時,調試程序所需的努力被最小化。

相關問題