Pytania otagowane jako clean-code

Termin „czysty kod” jest używany do opisania zwięzłego, łatwego do zrozumienia kodu programowania komputerowego, który jasno wyraża intencje programisty. Pytania z tym znacznikiem dotyczą procesu pisania czystego kodu lub refaktoryzacji starego „brudnego” kodu, aby był czysty.

11
Ile wzorów i poziomów abstrakcji jest niezbędnych? [Zamknięte]
Jak mogę stwierdzić, że moje oprogramowanie ma zbyt dużo abstrakcji i zbyt wiele wzorców projektowych, lub odwrotnie, skąd mam wiedzieć, czy powinno być ich więcej? Programiści, z którymi pracuję, programują inaczej w tych kwestiach. Niektóre wykonują abstrakcję każdej małej funkcji, w miarę możliwości używają wzorców projektowych i unikają nadmiarowości za …


4
Czy taki kod to „wrak pociągu” (z naruszeniem Prawa Demeter)?
Przeglądając napisany przeze mnie kod, natknąłem się na następującą konstrukcję, która skłoniła mnie do myślenia. Na pierwszy rzut oka wydaje się wystarczająco czysty. Tak, w rzeczywistym kodzie getLocation()metoda ma nieco bardziej konkretną nazwę, która lepiej opisuje dokładnie, jaką lokalizację otrzymuje. service.setLocation(this.configuration.getLocation().toString()); W tym przypadku servicejest to zmienna instancji znanego typu, …

7
Czy zgnilizna oprogramowania odnosi się przede wszystkim do wydajności, czy do niechlujnego kodu?
Definicja Wikipedii z oprogramowania zgniliznę skupia się na wydajności oprogramowania. To jest inne zastosowanie niż ja; Myślałem o tym znacznie bardziej pod względem czystości i wyglądu kodu - pod względem tego, że kod ma wszystkie standardowe cechy jakościowe: czytelność, łatwość konserwacji itp. Teraz wydajność prawdopodobnie spadnie, gdy kod stanie się …

3
Duplikujesz stałe między testami a kodem produkcyjnym?
Czy powielanie danych między testami a prawdziwym kodem jest dobre czy złe? Załóżmy na przykład, że mam klasę Python, FooSaverktóra zapisuje pliki o określonych nazwach w danym katalogu: class FooSaver(object): def __init__(self, out_dir): self.out_dir = out_dir def _save_foo_named(self, type_, name): to_save = None if type_ == FOOTYPE_A: to_save = make_footype_a() …

6
Zasada 5 - z niej korzystać czy nie?
Zasada 3 ( zasada 5 w nowym standardzie c ++) stanowi: Jeśli musisz samodzielnie zadeklarować niszczyciel, konstruktor kopii lub operator przypisania kopii, prawdopodobnie musisz jawnie zadeklarować wszystkie trzy z nich. Ale z drugiej strony „ Czysty kod ” Martina zaleca usunięcie wszystkich pustych konstruktorów i destruktorów (strona 293, G12: Clutter …



3
Refaktoryzacja o niskim wpływie i czyszczenie niechlujnego kodu podczas oczekiwania na wymagania
Odziedziczyłem istniejącą bazę kodu dla produktu, który jest nagle niechlujny. Podstawowy projekt jest bardzo nieodpowiedni, na co niestety niewiele mogę poradzić bez kompletnego refaktora (WYSOKIE sprzężenie, NISKA spójność, gwałtowne powielanie kodu, brak dokumentacji technicznej projektu, testy integracyjne zamiast testów jednostkowych). Produkt ma historię, wysoką ekspozycję na krytycznych klientów „krów gotówkowych” …



5
Jak uniknąć nadmiernego przeciążenia metody?
Mamy całkiem sporo miejsc w kodzie źródłowym naszej aplikacji, gdzie jedna klasa ma wiele metod o tych samych nazwach i różnych parametrach. Te metody zawsze mają wszystkie parametry metody „poprzedniej” plus jeszcze jedną. Jest to wynik długiej ewolucji (starszego kodu) i tego myślenia (wierzę): „ Istnieje metoda M, która wykonuje …


5
Zwraca wartość logiczną set.add () w warunkowym?
Operator add klasy set zwraca wartość logiczną, która jest prawdą, jeśli element (który ma zostać dodany) jeszcze nie istniał, a fałsz w przeciwnym razie. Pisze if (set.add(entry)) { //do some more stuff } uważany za dobry styl pod względem pisania czystego kodu? Zastanawiam się, skoro robicie dwie rzeczy naraz. 1) …

3
Czysty kod: konsekwencje krótkich metod z kilkoma parametrami
Niedawno podczas recenzji kodu natknąłem się na kod napisany przez nowego kolegę, który zawiera wzór z zapachem. Podejrzewam, że decyzje mojego kolegi opierają się na zasadach zaproponowanych w słynnej książce Clean Code (i być może także w innych podobnych książkach). Rozumiem, że konstruktor klasy jest całkowicie odpowiedzialny za utworzenie ważnego …

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.