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.

8
Czy modyfikowanie przychodzącego parametru jest antypatrakiem? [Zamknięte]
Programuję w Javie i zawsze tworzę konwertery w taki sposób: public OtherObject MyObject2OtherObject(MyObject mo){ ... Do the conversion return otherObject; } W nowym miejscu pracy wzór jest następujący: public void MyObject2OtherObject(MyObject mo, OtherObject oo){ ... Do the conversion } Dla mnie jest to trochę śmierdzące, ponieważ przyzwyczaiłem się nie zmieniać …


14
Jakie są najlepsze praktyki dotyczące zamawiania parametrów w funkcji?
Czasami (rzadko) wydaje się, że najlepszym rozwiązaniem jest utworzenie funkcji, która wymaga przyzwoitej liczby parametrów. Jednak kiedy to robię, czuję, że często losowo wybieram porządkowanie parametrów. Zazwyczaj stosuję „porządek ważności”, z najważniejszym parametrem na początku. Czy jest na to lepszy sposób? Czy istnieje sposób „porządkowania” najlepszych praktyk, który poprawia przejrzystość?


20
Czy powinieneś napisać dobrą dokumentację i czysty kod, aby zwiększyć „współczynnik magistrali”?
Jednym z głównych celów firm zajmujących się tworzeniem oprogramowania jest zwiększenie ich współczynnika autobusu. Jest to również zalecane w rozmowie zorganizowanej przez Google . Oznacza to, że powinieneś zakodować i udokumentować wszystko w taki sposób, że jeśli jutro wpadniesz na autobus, projekt może być kontynuowany. Innymi słowy, powinieneś dać się …

8
Dlaczego kodowanie nazw argumentów w nazwach funkcji nie jest częstsze? [Zamknięte]
W Clean Code autor podaje przykład assertExpectedEqualsActual(expected, actual) vs assertEquals(expected, actual) z tym pierwszym twierdzono, że jest bardziej przejrzysty, ponieważ eliminuje potrzebę pamiętania, gdzie idą argumenty i potencjalne niewłaściwe użycie z tego wynikające. Jednak nigdy nie widziałem przykładu poprzedniego schematu nazewnictwa w żadnym kodzie i cały czas go widzę. Dlaczego …
47 clean-code 

13
Jak mogę edytować łańcuch instrukcji if-else, jeśli są zgodne z zasadami Clean Code firmy Uncle Bob?
Staram się stosować do czystego kodu wuja Boba, a konkretnie, aby metody były krótkie. Nie mogę jednak skrócić tej logiki: if (checkCondition()) {addAlert(1);} else if (checkCondition2()) {addAlert(2);} else if (checkCondition3()) {addAlert(3);} else if (checkCondition4()) {addAlert(4);} Nie mogę usunąć pozostałych i tym samym podzielić całej rzeczy na mniejsze części, ponieważ „else” …

3
Czysta architektura wuja Boba - klasa encji / modelu dla każdej warstwy?
TŁO : Próbuję użyć czystej architektury wuja Boba w mojej aplikacji na Androida. Studiowałem wiele projektów open source, które próbują pokazać właściwy sposób, aby to zrobić, i znalazłem ciekawą implementację opartą na RxAndroid. CO ZWRÓCIŁEM UWAGĘ: W każdej warstwie (prezentacja, domena i dane) istnieje klasa modelu dla tego samego obiektu …

8
Odwracanie instrukcji JEŻELI
Więc programuję od kilku lat, a ostatnio zacząłem używać ReSharpera więcej. Jedną z rzeczy, które ReSharper zawsze mi sugeruje, jest „odwrócenie” instrukcji „if” w celu zmniejszenia zagnieżdżania ”. Powiedzmy, że mam ten kod: foreach (someObject in someObjectList) { if(someObject != null) { someOtherObject = someObject.SomeProperty; } } A ReSharper zasugeruje, …


5
Przekazać identyfikator lub obiekt?
Czy przy podawaniu metody logiki biznesowej w celu uzyskania encji domeny parametr powinien akceptować obiekt lub identyfikator? Na przykład, czy powinniśmy to zrobić: public Foo GetItem(int id) {} albo to: public Foo GetItem(Foo foo) {} Wierzę w przekazywanie obiektów w całości, ale co z tym przypadkiem, w którym otrzymujemy przedmiot …

14
Czy obsesja na punkcie sprawiania, że ​​kod „wygląda ładnie”, ma jakieś zalety?
Czasami spędzam absurdalnie dużo czasu (godzin) na zadręczaniu się, aby kod „wyglądał ładnie”. Chodzi mi o to, aby wszystko wyglądało symetrycznie. W rzeczywistości szybko przewijam całą klasę, aby zobaczyć, czy coś wyskoczy jako nie wyglądające „ładnie” lub „czysto”. Czy marnuję czas? Czy takie zachowanie ma jakąś wartość? Czasami funkcjonalność lub …
34 clean-code 

6
Dodatkowa linia w bloku vs dodatkowy parametr w Clean Code
Kontekst W Clean Code , strona 35, to mówi Oznacza to, że bloki w instrukcjach if, instrukcjach else, instrukcjach while i tak dalej powinny mieć długość jednego wiersza. Prawdopodobnie ta linia powinna być wywołaniem funkcji. To nie tylko sprawia, że ​​funkcja zamykająca jest mała, ale także dodaje wartość dokumentalną, ponieważ …
33 clean-code  solid 

7
Jak zapobiec nieznanemu powielaniu kodu?
Pracuję na dość dużej podstawie kodu. Setki klas, mnóstwo różnych plików, wiele funkcji, potrzeba więcej niż 15 minut, aby pobrać nową kopię itp. Dużym problemem związanym z tak dużą bazą kodu jest to, że ma całkiem sporo metod narzędziowych i takich, które robią to samo, lub kod, który nie używa …

7
Czy ustawianie flagi w pętli w celu użycia jej później jest zapachem kodu?
Mam fragment kodu, w którym iteruję mapę, dopóki jakiś warunek nie jest spełniony, a następnie użyję tego warunku, aby zrobić więcej rzeczy. Przykład: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) { limitFlag = true; break; …

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.