2010-11-18 28 views

回答

3

在很大程度上,您決定採用什麼標準並不重要。最重要的因素是你堅持下去!一致性是非常重要的,只要你管理你的代碼將來會更容易閱讀和維護。

作爲一個想法,你可以看看在Windows下用於Win32和C++編程的匈牙利符號。

Notation Definition (PDF)

+0

是的,但是沒有嘗試過的實踐要遵循嗎?而當我閱讀PDF時,我注意到使用這種格式,除非你真的很喜歡評論所有的東西,否則最終會得到很多神祕的代碼。 – 2010-11-18 02:25:40

+0

一旦你理解了匈牙利符號的神祕性質,就很容易理解變量的類型,而不必去找到它的定義來提醒自己。這對於C++尤其重要,因爲打字錯誤非常容易實現。這可能不是您選擇的語言的問題。 – 2010-11-18 02:28:16

+0

我想這是真的,我從經驗中發表意見。 – 2010-11-18 02:35:10

1

最好不要與某些語言數字或符號啓動它們。另外,請勿使用您正在使用的語言的保留功能。例如:在C#中,你不會想把它命名爲「if」,「else」,「void」,「try」等等......

1

我不是一個有經驗的程序員,但我有點它在大學和uni中鑽進我的行列,並且在類似的網站上看到它,當命名變量時,它們應該是,意思是

也許這是一個教育的事情,但它確實有道理 - 變量名應該使它很容易明白你的代碼中的任何地方使用了那個變量。歸結起來,我認爲,代碼不應該需要大量的評論 - 它應該解釋自己。變量命名是其中的一部分。

+1

添加到我的回答什麼布萊克和菲爾說,我認爲你不會錯。 – 2010-11-18 02:25:02

3

保持你的名字有意義,代碼應該自我記錄,避免縮寫名稱的長度在大多數語言中通常不是問題。

布爾變量應該開始is*has*,嘗試選擇一個避免要求測試否定的名稱,因爲經常會丟失!。與項目相關聯

組變量通過使用共同的前綴即documentTitledocumentTypedocumentSize等等使用數字除非索引涉及區分變量

避免。

忘掉匈牙利語法。

+1

+1,但匈牙利符號有點誤解。有好的和壞的品種:http://www.joelonsoftware.com/articles/Wrong.html – 2010-11-18 02:37:01

2

一些粗線條:

  • 使用ijk for循環的變量。這是非常普遍的做法,很容易理解。
  • 對於布爾(真/假)變量,使用謂詞名稱,如isDirectorycanExecute
  • 無論你是camelCase還是use_underscores只是一個偏好問題。
  • 用匈牙利符號來裝飾變量可能是一個好主意,描述變量的含義,例如, iMax可能是數組中最大元素的索引。用語言級別的類型信息裝飾名稱的用處不大。對於差異的一個非常有趣的解釋,爲什麼一個是好的,另一個是壞的,請參閱Joel's essay