Pytania otagowane jako refactoring

Refaktoryzacja to zdyscyplinowana technika restrukturyzacji istniejącego kodu, zmieniająca jego wewnętrzną strukturę bez zmiany zewnętrznych zachowań.

16
Mój szef prosi mnie, abym przestał pisać małe funkcje i robił wszystko w tej samej pętli
Przeczytałem książkę Robert C. Martin o nazwie Clean Code . W tej książce widziałem wiele metod czyszczenia kodu, takich jak pisanie małych funkcji, ostrożne wybieranie nazw itp. Wydaje się, że jest to najbardziej interesująca książka o czystym kodzie, którą przeczytałem. Jednak dzisiaj mój szef nie polubił sposobu, w jaki napisałem …

21
Duża część mojego kodu ma poważną wadę projektową. Skończyć czy naprawić to teraz? [Zamknięte]
Jestem uczniem szkoły średniej pracującym nad projektem C # z moim przyjacielem o prawie takim samym poziomie umiejętności jak ja. Do tej pory napisaliśmy około 3000 wierszy kodu i 250 wierszy kodu testowego w zakresie 100 zatwierdzeń. Ze względu na szkołę odłożyłem projekt na kilka miesięcy, a ostatnio mogłem go …

9
Dlaczego powinienem używać klasy fabrycznej zamiast bezpośredniej konstrukcji obiektu?
Widziałem historię kilku projektów bibliotek klas С # i Java na GitHub i CodePlex, i widzę trend przechodzenia do klas fabrycznych w przeciwieństwie do bezpośredniego tworzenia instancji obiektów. Dlaczego powinienem intensywnie korzystać z klas fabrycznych? Mam całkiem niezłą bibliotekę, w której obiekty są tworzone w staromodny sposób - przy użyciu …

13
Czy powinienem zmienić kod oznaczony jako „nie zmieniaj”?
Mam do czynienia z dość dużą bazą kodu i dano mi kilka miesięcy na zmianę istniejącego kodu. Proces refaktoryzacji jest potrzebny, ponieważ wkrótce będziemy musieli dodać wiele nowych funkcji do naszego produktu, a na razie nie jesteśmy już w stanie dodać żadnej funkcji bez zepsucia czegoś innego. W skrócie: niechlujny, …


16
Czy powinienem usunąć niepowiązany kod?
Pracuję na bazie kodu średniej wielkości (100 tys. Linii), to wszystko jest stosunkowo nowy kod (mniej niż roczny) i ma dobry zasięg testu jednostkowego. Ciągle natrafiam na metody, które albo nigdzie już nie są używane, albo są wymieniane tylko w testach jednostkowych, które testują tylko tę określoną metodę. Czy powinienem …

12
Uzasadnienie, aby preferować zmienne lokalne zamiast zmiennych instancji?
Baza kodów, nad którą pracuję, często używa zmiennych instancji do udostępniania danych między różnymi trywialnymi metodami. Pierwotny programista jest przekonany, że przestrzega najlepszych praktyk zawartych w książce Clean Code autorstwa Uncle Bob / Robert Martin: „Pierwszą zasadą funkcji jest to, że powinny być małe”. oraz „Idealna liczba argumentów dla funkcji …
109 java  refactoring 



11
Czy modyfikowanie kodu wyłącznie do celów testowych jest złą praktyką?
Prowadzę debatę z kolegą programistą na temat tego, czy dobrą lub złą praktyką jest modyfikowanie działającego kodu tylko w celu umożliwienia jego przetestowania (na przykład poprzez testy jednostkowe). Moim zdaniem jest w porządku, oczywiście w granicach utrzymywania dobrych praktyk obiektowych i inżynierii oprogramowania (nie „upubliczniania wszystkiego” itp.). Zdaniem mojego kolegi …


6
Naprawianie błędu pisowni w nazwie metody
Jedną z metod, których zwykle używam w naszej bazie kodu, jest niepoprawna (i poprzedza mnie). To naprawdę irytuje mnie nie tylko dlatego, że jest źle napisane, ale, co ważniejsze, sprawia, że ​​ZAWSZE mylę nazwę przy pierwszym wpisywaniu (a potem muszę pamiętać: „Och, racja, należy ją źle odczytać ...”) Wprowadzam kilka …

10
Czy ma sens pisanie testów starszego kodu, gdy nie ma czasu na pełne refaktoryzowanie?
Zwykle staram się postępować zgodnie z zaleceniami zawartymi w książce Skutecznie współpracując z Legacy Cod e . Przełamuję zależności, przenoszę części kodu do @VisibleForTesting public staticmetod i nowych klas, aby kod (lub przynajmniej jego część) był testowalny. Piszę testy, aby upewnić się, że niczego nie popsuję podczas modyfikowania lub dodawania …

7
Jak wziąć odpowiedzialność za kod, gdy kolega wprowadza niepotrzebne poprawki bez uprzedzenia?
Jeden z moich kolegów z zespołu jest specjalistą od wszystkich transakcji w naszym sklepie IT i szanuję jego wgląd. Czasami jednak przegląda mój kod (jest szefem naszego zespołu, więc się tego spodziewałem) bez uprzedzeń. Czasami więc przegląda moje zmiany, zanim osiągną cel końcowy i wprowadzają zmiany od razu ... a …

2
Pisanie testów dla kodu, którego celu nie rozumiem
Niedawno ukończyłem refaktoryzację czarnej skrzynki. Nie mogę tego sprawdzić, ponieważ nie mogę wymyślić, jak to przetestować. Na wysokim poziomie mam klasę, której inicjalizacja obejmuje pobieranie wartości z niektórych klas B. Jeśli klasa B jest „pusta”, generuje sensowne wartości domyślne. Wyodrębniłem tę część do metody, która inicjuje klasę B na te …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.