Pytania otagowane jako code-smell

Określenie, co jest „zapachem kodu”, a co nie, jest subiektywne i różni się w zależności od języka, programisty i metodologii programowania. Zanim zapytasz, czy jakaś technika jest „zapachem kodu”, zastanów się, jakie byłyby konsekwencje dla twojego konkretnego projektu, gdybyś zastosował tę technikę. Samo pytanie, czy coś jest „zapachem kodu”, czy nie, jest zbyt subiektywne.

4
Najczystszy sposób na pisanie logicznie proceduralnych programów w języku OO
Jestem inżynierem elektrykiem i nie wiem, co do diabła robię. Proszę zapisać przyszłych opiekunów mojego kodu. Ostatnio pracowałem nad kilkoma mniejszymi programami (w języku C #), których funkcjonalność jest logicznie „proceduralna”. Na przykład jednym z nich jest program, który zbiera informacje z różnych baz danych, wykorzystuje te informacje do generowania …

8
Czy włączanie i wyłączanie funkcji interfejsu użytkownika (lub innych) na podstawie dat - zapach kodu?
Mamy okropny system napisany w ASP.NET 2.0, do którego musimy dodać trochę funkcjonalności. Problem polega na tym, że określony produkt ma funkcje interfejsu użytkownika, które muszą być włączone dla firmy zainicjowanej po określonej dacie (a inne wyłączone), podczas gdy strona musi wyglądać tak samo dla istniejącej firmy. Zwracam się o …



4
czy ten sposób nazywania funkcji jest złą praktyką?
Mam następujący kod: public void moveCameraTo(Location location){ moveCameraTo(location.getLatitude(), location.getLongitude()); } public void moveCameraTo(double latitude, double longitude){ LatLng latLng = new LatLng(latitude, longitude); moveCameraTo(latLng); } public void moveCameraTo(LatLng latLng){ GoogleMap googleMap = getGoogleMap(); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, INITIAL_MAP_ZOOM_LEVEL); googleMap.moveCamera(cameraUpdate); } Myślę, że w ten sposób eliminuję na przykład odpowiedzialność za to, co …

4
Przeprojektowanie funkcji zwracającej kod liczby całkowitej reprezentujący wiele różnych statusów
Odziedziczyłem okropny kod, który zamieściłem poniżej. Czy istnieje nazwa tego konkretnego anty-wzoru? Jakie są zalecenia dotyczące refaktoryzacji tego? // 0=Need to log in / present username and password // 2=Already logged in // 3=Inactive User found // 4=Valid User found-establish their session // 5=Valid User found with password change needed-establish …

3
Czysty kod i obiekty hybrydowe oraz zazdrość o cechy
Niedawno dokonałem poważnych zmian w moim kodzie. Jedną z głównych rzeczy, które próbowałem zrobić, było podzielenie moich klas na obiekty danych i obiekty robocze. Zostało to zainspirowane między innymi przez tę sekcję Clean Code : Hybrydy To zamieszanie czasami prowadzi do niefortunnych hybrydowych struktur danych, które są w połowie obiektowymi …

4
Jakie są „zapachy kodu”, które świadczą o tym, że wymagany jest model nasłuchiwania zdarzeń?
Jakie objawy w bazie kodu wskazują, że wymagane jest podejście do detektora zdarzeń? Wydaje mi się, że gdy istnieją klasy, które muszą być wywoływane przez wiele, nieokreślone w zestawie innych klas w czasie projektowania, potrzebujesz jakiegoś szkieletu sygnalizacyjnego, ale chciałbym usłyszeć, jakie inne sytuacje mogłyby tam być ulepszone przez przejście …



2
Czy to zapach kodu, jeśli obiekt zna dużo swojego właściciela?
W naszej aplikacji Delphi 2007 używamy wielu następujących konstrukcji FdmBasic:=TdmBasicData(FindOwnerClass(AOwner,TdmBasicData)); FindOwnerClass podróżuje w górę hierarchii właściciela bieżącego komponentu w celu znalezienia określonej klasy (w przykładzie TdmBasicData). Powstały obiekt jest przechowywany w zmiennej Field FdmBasic. Używamy tego przede wszystkim do przekazywania modułów danych. Przykład: podczas generowania raportu dane wynikowe są kompresowane …

4
Dlaczego nie zaleca się posiadania właściwości tylko do ustawiania?
Dzisiaj w pracy jeden z moich kolegów przejrzał mój kod i zasugerował, żebym usunął właściwość tylko do zestawu i zamiast tego użyłem metody. Ponieważ oboje byliśmy zajęci innymi rzeczami, powiedział mi, abym przejrzał Property Designsekcję z książki „Wytyczne projektowania ramowego”. W książce pisarz powiedział właśnie, aby unikać: Właściwości, w których …

12
Operator koalescencji właściwości dla C #
Operator zerowego koalescencji w c # pozwala skrócić kod if (_mywidget == null) return new Widget(); else return _mywidget; Aż do: return _mywidget ?? new Widget(); Ciągle odkrywam, że użytecznym operatorem, który chciałbym mieć w języku C #, byłby taki, który pozwoliłby ci zwrócić właściwość obiektu lub inną wartość, jeśli …
9 c#  code-smell  null 
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.