c++ 前缀 变量命名_前缀命名
c++ 前綴 變量命名
如果您是第一次查看Takes或Cactoos的源代碼,很可能會像其他命名約定一樣被命名約定觸發(fā),這意味著大多數(shù)類名都有兩個字母的前綴: BkSafe , RqFake , RsWithStatus , TkGzip等。 老實說,我還沒有見過一個Java開發(fā)人員會對這種約定一見鐘情。 但是,我看到許多現(xiàn)在愛上它的人。 本文適用于有興趣從第一類轉到第二類的讀者。
布法羅66(1998),文森特·加洛(Vincent Gallo)任何大小合適的軟件包,模塊,庫或框架都具有大量的類。 好吧,它必須有 。 如果不是這樣,則肯定是其設計存在問題。 因此,如何命名這些類始終存在問題。 最簡單,最明顯的方法是在Java及其旗艦框架Spring中使用的方法 :使類名稱盡可能具有描述性,并且要盡可能長。 以下是一些示例 :
- ObjectFactoryCreatingFactoryBean
- SimpleBeanFactoryAwareAspectInstanceFactory
- TransactionAwarePersistenceManagerFactoryProxy
- AbstractAnnotationConfigDispatcherServletInitializer
這是垃圾,不是嗎?
DDD范式是一種更復雜,更耗時的類命名方式,它建議在真實世界中的實體之后使用名詞 ,例如港口,汽車,書籍,故事,用戶,插座等。 對于軟件架構師而言,確定正確的實體是一項巨大的挑戰(zhàn)。 一個不好的人只會求助于ConnectionFactoryUtils或DefaultListableBeanFactory并稱之為一天。 更專業(yè)的人可能要花費數(shù)小時或數(shù)天的時間,但最終會想出更多由領域驅動的東西。
假設您是后者,并且您設法找到了正確的名詞。 您的域中將有多少個? 我相信有幾十個。 即使應用程序非常復雜,在其問題域中也不會超過30個實體。 但是, 如上所述 ,類的數(shù)量將更大,有時超過一千或更多。 因此,您將面臨的第二個問題是如何命名“帶有指定實體的類”。 例如,您有一個端口,還有一個隨機端口和一個TCP端口,一個端口已經(jīng)關閉,一個端口尚未打開,依此類推。
會有帶有形容詞的名詞 :隨機端口,關閉端口,打開端口,TCP端口,斷開端口等等。 您如何命名這些班級? 也許就這么簡單: RandomPort , OpenedPort , ClosedPort , TcpPort 。 也許可以,但是我認為最好將所有類的公共Port部分轉換為公共前綴Pt :
- PtRandom
- PtOpened
- PtClosed
- PtTcp
這種方法的唯一缺點是,新手可能不知道Pt前綴的含義。 確實,學習它可能需要一些時間(幾分鐘)。 但是,這樣做的好處是更大的:一旦您了解了應用程序中存在的所有前綴(由于域中實體的數(shù)量非常有限,所以只有少數(shù)前綴),您可以立即了解該前綴的哪一部分該類所屬的類型層次結構(這來自Takes ):
看到Rq前綴后,您立即了解到您正在處理org.takes.Request接口的實現(xiàn)。 不是來自JDK的ServletRequest ,不是來自Spring的HttpRequest ,也不是來自OkHttp的 Request 。 您知道這是Takes的Request !
因此,通過使用短前綴而不是名詞,我們使代碼更加清晰。 我們消除了一遍又一遍重復使用相同名詞的噪音,并使引用變得更容易。 每個前綴是類型層次結構中類的唯一定位器。
翻譯自: https://www.javacodegeeks.com/2020/03/prefixed-naming.html
c++ 前綴 變量命名
總結
以上是生活随笔為你收集整理的c++ 前缀 变量命名_前缀命名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 往事不堪回首的意思 往事不堪回首指什么
- 下一篇: 什么是或运算? 或运算解释