好樣式(Clean Code book)表示方法的名稱應該描述方法的作用。因此,舉例來說,如果我有一個驗證地址的方法,將其存儲在數據庫中,併發送一封電子郵件,如果名稱是一些諸如verifyAddressAndStoreToDatabaseAndSendEmail(address);
長方法的方法名稱
或
verifyAddress_StoreToDatabase_SendEmail(address);
雖然我可以把在3種方法中的功能,我仍然需要一種方法來調用這3種方法。所以一個大的方法名稱是不可避免的。
命名和命名方法當然可以描述該方法的作用,但IMO不太可讀,因爲名稱可能非常大。你會如何解決它?
編輯:也許我可以用流利式分解方法的名稱,如:
verifyAddress(address).storeToDatabase().sendEmail();
,但我需要一種方法來確保調用的順序。也許通過使用狀態模式,但這會導致代碼增長。
你做了3件事,好吧,想一下通過調用這3個步驟來描述你正在做什麼的名字。它有名字嗎?好的,這是方法名稱 –
我同意埃爾南。當我有多個步驟來做某件事時,總會有一個總體目標。如果它不夠具體,總會有一些通用目標,例如處理。 就你而言,processAddress(address)方法可以在它們各自的方法中調用3個獨立的步驟。 –
但是'processAddress'是非常通用的,IMO並沒有向讀者說明該方法的推廣。 – ejaenv