2009-08-07 73 views
5

有時候爲了使變量/方法/類名稱具有描述性,我需要延長它。但我不想,我想要有簡單易讀的短名稱。所以我想到了像Visual Studio這樣的IDE的特殊插件,可以爲類,方法,字段編寫簡短的名稱,但能夠附加長名稱。如果你需要 - 你可以把它變長,或者你可以製作單個名字。如果你想減少它 - 使用減少,如同一代碼的兩個視圖。我想知道別人在想什麼嗎?你認爲這是有用的嗎?有人會使用這種插件嗎?減少編程

+0

感謝您的回覆。當然,當選擇mult和multiply時,我更喜歡乘,但是那裏有*。試想一下,乘以而不是*。每個數學公式都將是一場噩夢。我正在談論的情況下,長名稱和描述性名稱之間的選擇和短而易於使用並不明顯。例如。一些像金融領域。如果你不知道域名,你需要很長的名字,如果你知道的話 - 你可以用short。 另外我不希望它像一個命名本身,我認爲它像另一種觀點。像VS中的類的UML視圖一樣,如對象瀏覽器和解決方案資源管理器。 – 2009-08-07 10:22:49

回答

6

我從不擔心長的名字。如果一個方法名稱變得太長,它也可能表明該方法做得太多(除非碰巧包含一個非常長的單詞)。另一方面,我也儘量避免重複自己。例如,我不會有Account.AccountId,而是Account.Id。我也靠回名字空間;如果名稱空間清楚了我所在的域名,我通常不會在類名或成員名稱中重複該名稱空間。

底線;我看不到自己使用這樣的插件。

8

變量名稱應該儘可能長,以使其可識別,如果比您想要的更長一點,它的作用是否重要?只要代碼具有可讀性和可理解性,當然這沒有區別?

使用註釋表示名稱太長而無法用作變量/類名稱。這將會更合適。

如果一個方法名太長,那麼它不應該是一個單一的方法...

我不會用一個插件這樣。

4

沒有這個插件的其他程序員會發現自己陷入困境,因爲如果你提供的名字太短,他們就不會完全理解代碼,如果你提供長名稱,他們將失去時間閱讀並最終生氣,因爲長名字很難記住:P

一個人必須爲所寫的所有內容找到最好的名字,imho不需要開關打開或關閉標識符的詳細程度。

我不會使用那個插件。

0

我不認爲我會想要它。

在不同視圖之間切換的開銷與按F12並讀取該函數的註釋一樣多,該函數總是比長名稱更具描述性。

9

爲什麼不直接使用Visual Studio中內置的標準XML評論系統。 如果您在類/方法/變量等之上鍵入///,它將創建註釋存根。 這些評論通過Intelisense/Code Completion通過額外的信息彈出。

通過這種方式,您可以在註釋代碼的同時保持命名約定簡潔且具有描述性。 您可以運行一個流程,然後使用這些註釋爲您的代碼創建文檔。

參見:http://msdn.microsoft.com/en-us/magazine/cc302121.aspx

+1

or'''在vb.net – Pondidum 2009-08-09 19:30:48

0

我不會。

長函數名可能在某些情況下很方便。如果你有特殊情況或什麼的。 一些例子:

你會贊成乘法,乘法還是乘法?乘法是我的選擇

選擇functionnames是使你的代碼明確使用,如果你有太多的小名字的事情,你必須閱讀評論知道函數做什麼,那麼你是做錯了

1

也不I.事實是你正在談論VisualStudio。使用IntelliSense需要記住大多數變量名稱(長和短)的重負。正如Power所說,只要代碼是可讀的,可以理解的,那就很重要。

0

IDE,文本編輯器和編譯器支持有限的(如果有限的話)所描述功能的形式 - 即源代碼註釋。我認爲評論做得很好,沒有看到描述插件的必要性。如果評論太長,可以摺疊。如果你需要沒有評論的源代碼,你可以用類似的東西的正則表達式輕鬆地去掉它們。

0

我喜歡有短名稱 易於閱讀。

這通常是一個矛盾的術語。

以例如oScBf這樣的名稱爲例,如果您還不知道它實際上是不可讀的。它是outputScreenBuffer,onlineSourceBitflag,openScannerBrowsefile,outdoorSpecialBikinifavorites ...?

更長的標識符名稱通常是可取的。儘管閱讀起來更多,但它仍然更易於理解。

閱讀代碼在某些方面類似於閱讀文本。如果您開始添加很多縮寫,您希望它遵循一定的模式以便於閱讀。和大量文本中的非標準詞語,你應該想想它是什麼意思,並且你失去了流量。 :)

+0

我同意你的意見。但是,如果你只有一件事情需要減少。爲它寫一個完整的名稱總是更好,並且一切都讓讀者清楚。但是如果你有一些複雜的邏輯,你不知道如何命名變量以使你的未來讀者理解發生了什麼?長名稱善於解釋所有內容,但是在獲得某些變量之後,您想要減少它並閱讀其他變量。如果有10個可變參數,你會讀到它們,並且需要減少才能到達algorythm本身。 – 2009-08-07 10:26:46

-2

我喜歡這個想法。這真的很不錯,我對你進行了調整,並希望你能夠成功開發它。儘管我永遠不會使用這樣的附加組件。

+0

有趣的方式來說你真的不喜歡它 – raven 2009-08-07 18:19:11

+0

其實,我喜歡這個想法。我不會使用它的原因是我習慣於以某種方式寫東西,如果我開始使用它 - 我會一直忘記,並繼續寫我通常寫的東西... 這個想法很好。我認爲這會節省很多時間,並使記憶更容易。但它不適合我。我當然不認爲我的個人意見會引起2票的投票 – 2009-08-10 10:12:19

0

這是一個壞主意。變量名稱通常不需要很長時間才能具有足夠的描述性,您將浪費大量時間來編寫每個名稱的兩個版本,並且許多程序員可能會發現爲同一事物設置多個名稱會讓人感到困惑。

使用XMLDoc和intellisense幫助,您可以添加任何額外的詳細信息來完整描述代碼元素 - 名稱不需要描述細節,只給出一個清晰明確的代碼元素的用途。

隨着名稱自動完成隨時可用,沒有任何理由抱怨需要大量輸入的長名稱。另外,良好的編碼風格是使代碼易於閱讀,理解和維護,而不是將更多代碼包裝到更小的空間中。

OO設計應有助於分層分解功能分解成命名空間和類,減少在類/方法級需要這麼長的名字)

最後,如果你真的必須縮短名字,大多數語言中大多數語言提供簡單的方法來剝離命名空間和/或添加競爭新名稱的別名(例如在C++中使用'typedef'和'using',在C#中使用''),所以在本地化的區域中,如果你願意的話,你可以通過簡短的變體或別名來輕鬆地引用一個長名字。