Překvapivě i když jste to vy sami jen o nějaký den, týde či měsíc starší.
Tím se ukazuje důležitost toho, aby po Vás váš kód někdo prošel, zaťukal si na čelo a řek "Můžeš mi prosím tě vysvětlit rozdíl mezi těmito dvěma propertama?" Pokud nemáte kolegu, který by to pro Vás udělal, tak hold před každým commitem musíte otevřít každý upravený soubor a podívat se co jste změnili a jestli o řádek vedle není metoda, kterou by jste mohli refaktorovat.
public bool IsPossibleToLogin { get { return this.BaseAddress != null && !string.IsNullOrEmpty(this.BaseAddress.ToString()) && !string.IsNullOrEmpty(this.UserName) && !string.IsNullOrEmpty(this.Password); } }
public bool IsSetLogin { get { return !string.IsNullOrEmpty(this.UserName) && !string.IsNullOrEmpty(this.Password) && !string.IsNullOrEmpty(this.BaseAddress.ToString()); }
}
První krok refaktoringu
Nahradit výpočet v druhé proprty výpočtem v první, protože je robustnější a kontroluje i jestli je vyplněna adresa. Označení property jako Obsolet dáte kolegů nebo partnerům kteří vaši knihovnu používají najevo, že plánujete tuto property odstranit, čím ji mají nahradit a kdy ji odstaníte.
public bool IsPossibleToLogin {
get { return this.BaseAddress != null && !string.IsNullOrEmpty(this.BaseAddress.ToString()) && !string.IsNullOrEmpty(this.UserName) && !string.IsNullOrEmpty(this.Password); } }
[Obsolete("Duplicitní property. Použíjte property IsPossibleToLogin. Ve verzi 1.4.5 bude odstraněna.")]
public bool IsSetLogin { get { return this.IsPossibleToLogin; } }
Druhý krok refaktoringu
Odstraníme reference na obsolet propertu, které se nám po buildu zobrazí v [Error listu].
Třetí krok refaktoringuOdstraníme obsoleteproperty.