Jak mogę celowo ćwiczyć wzorce projektowe i refaktoryzację? [Zamknięte]

10

Czytałem książkę Refaktoryzacja do wzorców i zastanawiałem się, jak mogę zdobyć szansę na przećwiczenie umiejętności, ponieważ bez celowego ćwiczenia nowych metod refaktoryzacji i używania wzorców moje umiejętności się nie poprawią.

Ale praca biurowa wymaga ode mnie jak najszybszego ukończenia każdego zadania. Przez większość czasu projekt i architektura projektu nie są przeze mnie kontrolowane, mogę jedynie stosować podobny styl jak istniejący kod. Czasami jest projekt o złym projekcie, ale jest też inny programista, którego umiejętności projektowe są lepsze ode mnie, a on ma już cały plan zmiany projektu, więc po prostu realizuję jego plan. Jak uzyskać możliwości ćwiczenia?

rwong
źródło

Odpowiedzi:

6

Szczerze mówiąc, nie możesz się doczekać, kiedy nadejdzie okazja, pukając do domu. Jeśli jesteś bardzo skłonny do ćwiczenia umiejętności, byłoby wspaniale, gdybyś mógł przyjść ze swoimi projektami niezależnie od tego, co ma tak zwany lepiej wykwalifikowany programista . Po prostu podrzuć swoje pomysły i miło porozmawiaj o tym, jak moje byłyby pomocne w tym istniejącym złym projekcie. Być może nie udałoby ci się w pierwszych kilku próbach, ale wiele się nauczyłeś i (także widziałeś, że twój tak zwany lepiej wykwalifikowany kolega programisty również miałby coś do nauczenia się od ciebie).

Krótko mówiąc, postaw swoje projekty również na stole i wiedz, jak dobrze lub źle stoisz w innym miejscu, nie ma sposobu, aby porównać swoje umiejętności.

V4Vendetta
źródło
3

Ćwicz, ćwicz, ćwicz. Projekty hobby są zdecydowanie dobrym pomysłem. A jeśli chcesz się uczyć, to często lepiej pracować na kogoś innego projektu open source, w ten sposób można dowiedzieć się z wzorami, których zatrudniają.

Proponuję zajrzeć do kodowania dojo i kod kata . Cała idea tej koncepcji polega na tym, że ćwicząc na dobrze zdefiniowanych problemach z ćwiczeniami, będziesz lepiej wyposażony, gdy problemy pojawią się we własnym kodzie. (Strony wyjaśniają to lepiej niż ja, zdecydowanie je sprawdź).

Punkt boczny: Jedną istotną rzeczą, która nie do końca jest wzorem, są właściwe nawyki, jeśli chodzi o testowanie.

Ostatni komentarz: praca biurowa wymaga jak najszybszego ukończenia każdego zadania. Jeśli pracujesz zbyt szybko i tworzysz dużo błędów, nie ukończyłeś zadania , ponieważ będziesz musiał wrócić do niego później. To jest przeróbka. Jeśli nie poświęcisz niezbędnej ilości czasu na nauczenie się właściwego sposobu robienia rzeczy, w krótkim okresie stworzysz dla siebie więcej pracy i nie nauczysz się prawidłowych wzorców do poprawy w dłuższej perspektywie. Zarówno dla ciebie, jak i dla twojego pracodawcy warto ćwiczyć właściwe wzorce projektowe. (To powiedziawszy, wzorce projektowe często mogą być nadużywane i nadużywane przez ludzi, którzy ćwiczą je nadmiernie lub bez zrozumienia tła, ale to osobny punkt.)

karpia
źródło
Przeróbka jest dość interesującym tematem. 37signals.com/rework to przyzwoita książka na ten temat.
carpeliam
1
Och, jeszcze jeden komentarz, który idzie w parze z podążaniem za wzorcami innych ludzi. Użyj ludzi w biurze jako zasobu. Jeśli mają plany, jak coś refaktoryzować, poproś ich, aby wyjaśnili swój proces myślowy i zmusili ich do nauki. Jeśli twoje biuro nie koncentruje się na osobistym rozwoju zawodowym, oznacza to problem.
carpeliam
+1 za notatkę o zakończeniu zadania.
Péter Török
1

Myślę, że masz następujące opcje:

  • Rozważ przećwiczenie czasu wolnego od pracy - po prostu pozostań w pracy i poeksperymentuj z refaktoryzacją kodu bez przekazywania kodu do VCS. Aby wykonać celową praktykę, nie musisz dokonywać zmian. Musisz odtworzyć procedurę, aż stanie się ona twoją drugą naturą.
  • Rozważ opanowanie umiejętności komunikacyjnych, aby omówić ze współpracownikami, które refaktoryzacja jest bardziej odpowiednie. Kluczowa rozmowa jest naprawdę pomocna w zrozumieniu mechaniki komunikacji.
  • Projekt zwierzaka - stwórz projekt zwierzaka i ćwicz swoje umiejętności. Nie musi być bardzo przydatny. Twoim celem jest ćwiczenie umiejętności programowania.
  • Rozważ zaproponowanie swoich usług w projekcie open source - jest to bardziej korzystne dla celowej praktyki, ponieważ możesz uzyskać informację zwrotną
Alexey
źródło