Przykłady złego kodu do refaktoryzacji?

Wszystko o językach skryptowych takich jak PHP i Perl, serwerach WWW, CGI, bazach danych i języku SQL.
Закрито
thorabric95
Повідомлень: 4
З нами з: 26 січня 2021, 08:19:11
Стать: Не вказана
Агент користувача: Chrome MacOS 1440x900

Przykłady złego kodu do refaktoryzacji?

Повідомлення thorabric95 »

W firmie, dla której pracuję, czasami przydzielamy programistów, którzy ubiegają się o pracę, z prostym zadaniem refaktoryzacji. Robimy to, aby zobaczyć, jak kandydat rozumie i stosuje zasady SOLID, wzorce projektowe itp. Najczęściej używamy starszych komponentów naszych systemów lub klas z bibliotek, takich jak phpmailer, ponieważ niektóre z nich naruszają zasady pojedynczej odpowiedzialności i / lub zasady segregacji interfejsów.

Niestety te przykłady są dość duże i trudne do zrozumienia dla osoby, która nie ma doświadczenia z tematem i jego specyfiką. Idealnie chcielibyśmy rzucić wyzwanie ludziom czymś, co jest:

Szkoda, że ​​tak jest.

Łatwy do zrozumienia dla nowicjusza.

Tak więc pokornie proszę o pomoc, r / php. Podaj mi najlepsze przykłady śmierdzącego kodu do refaktoryzacji!

(Nie jestem pewien, czy to jest uważane za post pomocy. Jeśli tak, możesz go usunąć, a zamiast tego opublikuję go w r / phphelp)
Аватар користувача
endriu888
Obsługa CBA
Повідомлень: 1878
З нами з: 23 січня 2012, 21:02:33
Website at CBA.pl: katalogfirm.c0.pl
Стать: Не вказана
Агент користувача: Firefox Windows 1024x768
Контактна інформація:

Przykłady złego kodu do refaktoryzacji?

Повідомлення endriu888 »

Usuwanie nadmiarowych konstruktorów

Konieczność zastosowania tego typu metody refaktoryzacji następuje najczęściej w przypadku, gdy programista chcąc szybko zastosować nową funkcjonalność, rozszerza klasę o kolejne konstruktory z nowymi parametrami. Podajmy przykład oparty na systemie obliczającym wartość pożyczki:

Pozyczka(wartosc);
Pozyczka(wartosc, oprocentowanie);
Pozyczka(wartosc, oprocentowanie, czasSplaty);
Pozyczka(wartosc, oprocentowanie, czasSplaty, ryzyko);
Pozyczka(wartość, oprocentowanie, czasSplaty, ryzyko, status);

Początkowo w kodzie programu istniał jeden konstruktor o nazwie „Pozyczka” z jednym parametrem (wartosc). W miarę dodawania nowych funkcjonalności pojawiała się potrzeba tworzenia konstruktorów „Pozyczka” o większej liczbie parametrów. W ten sposób powstało pięć metod o tej samej nazwie, lecz różnym działaniu. Taki kod zazwyczaj wymaga refaktoryzacji, gdyż nazwa metody powinna jednoznacznie wskazywać, za jaką funkcjonalność systemu metoda odpowiada. Przy dalszym rozwoju kodu tej klasy mogą pojawić się problemy z implementacją wynikające z niezrozumienia faktycznej roli konstruktora. Po refaktoryzacji kod może mieć postać:

Pozyczka(wartosc, oprocentowanie, czasSplaty, ryzyko, status);
ustalWartosc(wartosc);
stworzPozyczke(wartosc, oprocentowanie);
dajPozyczke(wartosc, oprocentowanie, czasSplaty);
sprawdzPozyczke(wartosc, oprocentowanie, czasSplaty, ryzyko);


źródło: wikipedia

przydatny ebook: https://helion.pl/ksiazki/refaktoryzacj ... refak2.htm
Czy wiesz, że:
  • W Panelu CBA w sekcji "wsparcie" jest dedykowany system ticketów (obsługi technicznej)
  • Odpowiadamy na Forum oraz na adres mailowy obsluga(malpa)cba.pl
  • Jesteśmy również na Facebooku! Znajdź nas na facebook.com/hostingcba | cba.pl
W czym jeszcze możemy pomóc?
thorabric95
Повідомлень: 4
З нами з: 26 січня 2021, 08:19:11
Стать: Не вказана
Агент користувача: Chrome MacOS 1440x900

Przykłady złego kodu do refaktoryzacji?

Повідомлення thorabric95 »

thorabric95 писав: W firmie, dla której pracuję, czasami przydzielamy programistów, którzy ubiegają się o pracę, z prostym zadaniem refaktoryzacji. Robimy to, aby zobaczyć, jak kandydat rozumie i stosuje zasady SOLID, wzorce projektowe itp. Najczęściej używamy starszych komponentów naszych systemów lub klas z bibliotek, takich jak phpmailer, ponieważ niektóre z nich naruszają zasady pojedynczej odpowiedzialności i / lub zasady segregacji interfejsów.

Niestety te przykłady są dość duże i trudne do zrozumienia dla osoby, która nie ma doświadczenia z tematem i jego specyfiką. Idealnie chcielibyśmy rzucić wyzwanie ludziom czymś, co jest:

Szkoda, że ​​tak jest.Tweakbox Appvalley https://vlc.onl


Łatwy do zrozumienia dla nowicjusza.

Tak więc pokornie proszę o pomoc, r / php. Podaj mi najlepsze przykłady śmierdzącego kodu do refaktoryzacji!

(Nie jestem pewien, czy to jest uważane za post pomocy. Jeśli tak, możesz go usunąć, a zamiast tego opublikuję go w r / phphelp)
issue got solvedd
Аватар користувача
endriu888
Obsługa CBA
Повідомлень: 1878
З нами з: 23 січня 2012, 21:02:33
Website at CBA.pl: katalogfirm.c0.pl
Стать: Не вказана
Агент користувача: Firefox Windows 1024x768
Контактна інформація:

Przykłady złego kodu do refaktoryzacji?

Повідомлення endriu888 »

Witam

w takim razie zamykam temat
Czy wiesz, że:
  • W Panelu CBA w sekcji "wsparcie" jest dedykowany system ticketów (obsługi technicznej)
  • Odpowiadamy na Forum oraz na adres mailowy obsluga(malpa)cba.pl
  • Jesteśmy również na Facebooku! Znajdź nas na facebook.com/hostingcba | cba.pl
W czym jeszcze możemy pomóc?
Закрито