Centralizacja kodu jest zwykle zawsze dobrym pomysłem. Musimy ponownie wykorzystać kod w jak największym stopniu.
Należy jednak pamiętać, jak to zrobić. Na przykład, jeśli masz kod, który wykonuje compute_prime_number () lub check_if_packet_is_bad (), to dobrze. Są szanse, że algorytm samej funkcjonalności ewoluuje, co przyniesie korzyści.
Jednak żaden fragment kodu, który powtarza się jako proza, nie kwalifikuje się do natychmiastowego scentralizowania. To jest złe. Możesz ukryć dowolne wiersze kodu wewnątrz funkcji, aby ukryć kod, z czasem, gdy zacznie korzystać z wielu części aplikacji, wszystkie muszą pozostać kompatybilne z potrzebami wszystkich wywoływanych funkcji.
Oto kilka pytań, które powinieneś zadać przed zadaniem
Czy funkcja, którą tworzysz, ma swoje nieodłączne znaczenie, czy może to tylko wiązka linii?
Który inny kontekst będzie wymagał użycia tych samych funkcji? Czy jest prawdopodobne, że przed użyciem tego może być konieczne uogólnienie interfejsu API?
Jakich oczekiwań będą dotyczyły (różne części) aplikacje, gdy wprowadzisz wyjątki?
Jakie są scenariusze, aby zobaczyć, że funkcje będą ewoluować?
Powinieneś również sprawdzić, czy istnieją już takie rzeczy. Widziałem tak wielu ludzi, którzy zawsze starają się redefiniować swoje makra MIN, MAX zamiast szukać tego, co już istnieje.
Zasadniczo pytanie brzmi: „Czy ta nowa funkcja naprawdę zasługuje na ponowne użycie, czy to tylko kopia-wklej ?” Jeśli jest pierwszy, dobrze jest iść.