某人的私有成員的任何建議的命名約定喜歡用M * ,有人喜歡用_ *,有沒有這種指引任何?是否有類
是否有類
回答
我傳統上使用的是帶有下劃線的前綴(例如,_firstName
),但越來越多我將移動到automatic properties b/c有更少的代碼混亂和9次10我不需要私人領域。
public string Firstname { get; set; }
直到看到這個答案,我從來都不會'得到'自動屬性是有用的。我只在接口中使用它們來聲明實現類應該實現哪些屬性,但仍然在類中使用了private _ *變量和訪問器屬性。 +1使我的代碼整潔! – 2010-12-15 15:12:09
他們的主要原因是,如果它們變成常規屬性,它們不會破壞現有的編譯代碼 - 但將變量轉換爲屬性確實會破壞代碼。 – Mehrdad 2010-12-15 16:49:33
像你說的,這是一個慣例。我相信來自C++背景的人經常使用m_ *表示法,但我自己更喜歡_ *表示法。雖然沒有固定的規則,一致性是關鍵。我始終遵循的一條規則是確保使用this
指針。
Microsoft的建議是使用下面的引號:_myField
。
但即使他不遵守該公約。
就我個人而言,我使用領先的undrscore,這樣我就不必使用this.
來限定我的變量名稱,並且因爲它們更易於區別於爭論。
如果您有一個局部變量或參數在範圍中具有相同的名稱,您只需要限定變量名稱。這通常用於構造函數或Java中的屬性設置器。 – 2010-12-15 15:06:02
是的,有解決這個指導方針。如果是獨立軟件開發商,您經常會在您工作的公司中至少找到一個。有時不止一個。機會不會一直遵守,除非你有一個良好的代碼審查制度,並且每個人都徹底瞭解命名慣例。
有這個沒有一個標準命名慣例 - 僅僅是因爲沒有爲私人成員,他們爲公衆成員做的方式存在的worldlwide公約的好處。
如果我必須使用庫從5家不同的公司來說,這真的,真的幫助我,如果他們在命名類型,方法,甚至參數方面是一致的。我並不在乎他們爲他們的私人成員使用的命名約定:基本上,任何事情都可以讓他們儘可能有效地編寫代碼。
就個人而言,我不會使用任何種類的私人變量前綴...但我曾在使用_
的公司工作,並且我曾在使用m_
或s_
的公司工作。
- 1. 是否有「ApplicativeIO」類?
- 2. 是否有「ContainsType」類?
- 3. 是否有C#類java.util.Properties類
- 4. Android中是否有Vector3f類?
- 5. 是否有純python表類?
- 6. mysql是否有類似autoupdate
- 7. 是否有AndEngine類庫?
- 8. null是否有Object類型?
- 9. 檢查是否有類「paged-」
- 10. wxWidgets中是否有wxSoundStream類?
- 11. JavaScript中是否有URL類?
- 12. 檢查類是否有嵌套類?
- 13. slf4j中是否有類似org.apache.log4j.EnhancedPatternLayout的類?
- 14. Qt中是否有boost :: timer類的類?
- 15. 是否有可能檢測到Java中是否有類可用?
- 16. 是否有沒有元類的Smalltalks?
- 17. 是否有「是後代還是有類」的sass/css選擇器?
- 18. 檢查是否有類,並檢查是否被點擊
- 19. 是否有可能評估類接口是否擴展某個基類?
- 20. Scala/java是否有類似Python的StringIO?
- 21. WPF裝飾類是否有用?
- 22. Yii CActiveRecord類是否有first()方法?
- 23. 是否有可能#include在C++類中?
- 24. 是否有類似於PdfReader的WordReader?
- 25. CSS是否有類似jQuery的:has()?
- 26. 是否有不同種類的NULL?
- 27. VS Code是否有類似Atom的addKeystrokeResolver?
- 28. Chrome中是否有globalStorage的類似物?
- 29. 是否有可能重載模板類?
- 30. CSS - 隱藏是否有子類
我個人不喜歡命名這個約定,並使用調用約定而不是,確保把'this.'引用時,成員變量。 – 2010-12-15 15:02:14
@Jeff:我同意,使用'this.'是一種很好的編碼習慣。 :) – Mehrdad 2010-12-15 15:04:00
@Jeff,Lambert - Reshaper建議從任何變量中刪除多餘的這個。任何想法爲什麼?我是否應該爲了某種充分理由而重寫該建議? – 2010-12-15 15:14:54