如果兩個函數做同一件事,卻有著不同的簽名式(signature),請運用Rename Method(273)根據它們的用途重新命名。但往往不夠,請反復運用Move Method(142)將某些行為移入classes,直到兩者的協議(protocols)一致為止。如果你必須重復而贅余地移入代碼才能完成這些,或許可運用Extract Superclass(336)為自己贖點罪。
ivaneeo's blog自由的力量,自由的生活。 |
如果兩個函數做同一件事,卻有著不同的簽名式(signature),請運用Rename Method(273)根據它們的用途重新命名。但往往不夠,請反復運用Move Method(142)將某些行為移入classes,直到兩者的協議(protocols)一致為止。如果你必須重復而贅余地移入代碼才能完成這些,或許可運用Extract Superclass(336)為自己贖點罪。
|