例如,引用的東西是System.Data.Datagrid而不是Datagrid。請提供例子和解釋。謝謝。冗餘限定符有什麼缺點嗎?有什麼好處?
回答
的好處是,你不需要添加導入您所使用的一切,尤其是如果它是你從一個特定的命名空間中的唯一的事情,還可以防止碰撞。
的缺點,當然,是代碼氣球出大小和變得更難讀你使用特定的預選賽了。
我個人傾向於使用進口的大多數事情,除非我知道肯定我將只使用一個特定命名空間一次或兩次的東西,所以它不會影響我的代碼的可讀性。
您對所引用的類型非常明確,這是一個好處。儘管在完全相同的過程中,您放棄了代碼清晰度,這在我的情況下顯然是一個缺點,因爲我希望代碼可讀性和可理解性。我去的短版,除非我有隻能用明確的引用的類..來解決不同的命名空間衝突,除非我做一個別名使用關鍵字使用:
using Datagrid = System.Data.Datagrid;
是的,我想我並不需要顯式聲明的時候我可以將鼠標懸停在該項目,看到完全限定的名字,這要歸功於VS方便的工具提示(以及Eclipse等)。 – MrBoJangles 2008-09-19 03:41:44
我不認爲確實存在一個缺點,就是可讀性與編碼的實際時間。一般來說,如果你沒有含糊不清的對象的命名空間,我不認爲它是真的需要。另一件要考慮的是使用水平。如果你有一個使用反射的方法,並且你可以正確輸入10次System.Reflection,那麼這不是什麼大問題,但是如果你計劃使用命名空間,那麼我會推薦一個include。
那,我做任何ReSharper告訴我要做的事情。我只是半開玩笑。 – MrBoJangles 2008-09-19 03:43:14
LOL = P ReSharper是一個非常漂亮的插件和很多人喜歡它,所以我不會打折它的建議。 – 2008-09-19 03:49:04
實際上的完整路徑是global::System.Data.DataGrid
。使用更合適的路徑的目的是避免使用額外的使用語句,特別是如果引入另一個使用語句會導致類型解析問題。存在更完全限定的標識符,以便在需要明確時可以明確,但如果類的名稱空間已清除,則DataGrid
版本對許多標識符更爲清楚。
根據您的情況,額外的限定符會產生一個警告(如果這是您的意思是多餘的)。如果您將警告視爲錯誤,那是一個非常嚴重的缺點。
我遇到了這個與GCC爲例。
struct A {
int A::b; // warning!
}
哦,不錯的場景。我不認爲我遇到過這種情況。 – MrBoJangles 2008-09-19 03:44:21
我通常使用可用的最短表格來保持代碼儘可能乾淨和可讀。畢竟,VS編輯器中的使用指令就是這樣的,並且工具提示可以即時詳細說明類型的出處。
我也傾向於使用的RCW命名空間標籤在COM互操作層,在代碼中顯式調用了這些變量(他們可能需要在生命週期和收集特別注意),如
using _Interop = Some.Interop.Namespace;
在表現方面沒有上行/下行空間。在編譯時解決所有問題,無論您是否使用完全限定名稱,生成的MSIL都是相同的。
之所以它的使用是在.NET世界流行是因爲自動生成的代碼,如設計師標記。在這種情況下,最好是完全限定名稱,比如類名,因爲可能與代碼中可能存在的其他類發生衝突。
如果有像ReSharper的一個工具,它實際上告訴你,你有什麼完全合格的引用是不必要的(例如,以灰色出來),所以你可以垂耳他們。如果您經常在不同的代碼庫中粘貼代碼,那麼完全限定它們是必須的。 (話又說回來,爲什麼你會想要做的複製粘貼所有的時間,它的代碼重用的一個不好的形式!)
- 1. ConcurrentHashMap有什麼缺點嗎?
- 2. 一致散列有什麼缺點嗎?
- 3. 單身模式有什麼缺點嗎?
- 4. Joomla - wrapper |有什麼缺點嗎?
- 5. 啓用git rerere有什麼缺點嗎?
- 6. 使用NewSequentialID有什麼缺點嗎?
- 7. HTML編碼有什麼缺點嗎?
- 8. 如果冗餘代碼在Swift中有什麼優勢嗎?
- 9. nVidia Tesla卡有什麼好處嗎?
- 10. 保持MaxPermSize小有什麼好處嗎?
- 11. 使用Object Initializer有什麼好處嗎?
- 12. 學習LISP有什麼好處嗎?
- 13. 使用Python類有什麼好處嗎?
- 14. 使用位圖有什麼好處嗎?
- 15. 這樣的課有什麼好處嗎?
- 16. 這個重構有什麼好處嗎?
- 17. 異步功能有什麼好處嗎?
- 18. 使用@staticmethod有什麼好處嗎?
- 19. Typed DataSet有什麼缺點
- 20. Apache Wicket有什麼缺點?
- 21. std :: reverse_iterator有什麼缺點?
- 22. VistaDB有什麼缺點
- 23. H264有什麼缺點?
- 24. 丟棄符號有什麼缺點?
- 25. HTML代碼中有大量換行符有什麼好處嗎?
- 26. 「相對+」運算符有什麼好處?
- 27. 元組有什麼好處?
- 28. StringBuilders有什麼好處?
- 29. 粘液有什麼好處?
- 30. AJAX有什麼好處?
您真的認爲添加1個使用語句與輸入完全限定名稱相比是一個缺點嗎? – Statement 2008-09-19 03:44:51