簡體   English   中英

了解接口的命名約定

[英]understand naming conventions of interface

我想了解Bob叔叔在Clean Code書中寫的關於接口命名的內容:

這些有時是編碼的特殊情況。 例如,假設您要建立一個抽象工廠來創建形狀。 該工廠將是一個接口,並將由一個具體的類實現。 你應該給他們起什么名字? IShapeFactory和ShapeFactory? 我更喜歡不修飾界面。 前面的I在當今的一堆舊書中很常見,充其量可以使人分心,而在最壞的情況下則可以提供過多的信息。 我不希望我的用戶知道我正在向他們提供界面。 我只想讓他們知道這是一個ShapeFactory。 因此,如果必須對接口或實現進行編碼,則選擇實現。 將其命名為ShapeFactoryImp甚至是丑陋的CShapeFactory都比對接口進行編碼更可取。

他不使用“ I”啟動界面的想法是什么,為什么他不希望用戶知道他正在處理它們的界面?

這樣做的有效性當然有待辯論,但(與往常一樣)我同意鮑勃叔叔的觀點。

接口的客戶端應該不需要知道已經獲得了接口,而不需要知道具體的類,並且客戶端代碼通常應使用接口名稱,因此最好使接口名稱清晰地傳達業務含義。 如果有必要對其中一種進行編碼,則最好不要對您希望使用並希望人們使用的一種進行編碼。

“ I”前綴沒有提供有用的信息,並且使您將其保留為接口,而不是使用區分兩者的語言的抽象父類。

他在報價中說。 當您應該清楚易讀的代碼時,到處都是多余的“ I”,這使人分心,並給用戶提供了太多他們不關心的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM