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.


9
Czy zbyt wiele stwierdzeń ma zapach?
Naprawdę zakochałem się w testach jednostkowych i TDD - jestem zainfekowany testowo. Jednak testy jednostkowe są zwykle stosowane w metodach publicznych. Czasami jednak muszę przetestować pewne założenia-twierdzenia również metodami prywatnymi, ponieważ niektóre z nich są „niebezpieczne”, a refaktoryzacja nie może dalej pomóc. (Wiem, ramy testowania umożliwiają testowanie metod prywatnych). Stało …


4
Dlaczego klasy danych są uważane za zapach kodu?
W tym artykule twierdzi się, że klasa danych to „zapach kodu”. Powód: To normalne, gdy nowo utworzona klasa zawiera tylko kilka pól publicznych (a może nawet garść programów pobierających / ustawiających). Ale prawdziwą mocą obiektów jest to, że mogą one zawierać typy zachowania lub operacje na swoich danych. Dlaczego obiekt …


5
Czy funkcja jest w stanie zmodyfikować parametr?
Mamy warstwę danych, która otacza Linq To SQL. W tej warstwie danych mamy tę metodę (uproszczoną) int InsertReport(Report report) { db.Reports.InsertOnSubmit(report); db.SubmitChanges(); return report.ID; } Po przesłaniu zmian identyfikator raportu jest aktualizowany o wartość w bazie danych, którą następnie zwracamy. Od strony wywołującej wygląda to tak (uproszczone) var report = …

9
Jak sprawdzić, czy oprogramowanie jest silnie sprzężone?
Znam termin „wysoce sprzężony”, ale jestem ciekawy, czy istnieją znaki (zapach kodu), które mogą wskazywać, że kod jest silnie sprzężony. Obecnie pracuję z Javą EE, ale może to dotyczyć dowolnego języka. Edytować: Jeśli ktoś jest zainteresowany, ten artykuł wydaje się pomocny: w pogoni za jakością kodu: strzeż się ścisłej pary! …

3
Wyśmiewanie wprowadza obsługę kodu produkcyjnego
Zakładając interfejs IReader, implementację interfejsu IReader ReaderImplementation oraz klasę ReaderConsumer, która zużywa i przetwarza dane z czytnika. public interface IReader { object Read() } Realizacja public class ReaderImplementation { ... public object Read() { ... } } Konsument: public class ReaderConsumer() { public string location // constructor public ReaderConsumer() { …

3
Kiedy można używać macierzy równoległych?
Wpadłem na kod (nowy kod), który używa tego, co nazywam „macierzami równoległymi” lub listami. Oznacza to, że istnieją 2 tablice, które zawierają powiązane dane i są powiązane ich pozycją (indeksem) w tablicy. Uważam to za mylące i podatne na wszelkiego rodzaju błędy. Rozwiązaniem, które zwykle proponuję, jest utworzenie obiektu wywoływanego …




7
Jaki był najgorszy fragment kodu, który naprawiłeś, z którego jesteś dumny? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …


5
Ile nadmiarowości / niezawodności powinno wdrożyć złożone oprogramowanie?
Głównym celem tego pytania: niektóre programy wykonują „dodatkową pracę” w celu zwiększenia szansy na „ostatecznie pomyślny / zadowalający” wynik, pomimo jednego lub więcej wewnętrznych błędów w oprogramowaniu, co wymaga dłuższego czasu wykonania, gdy te błędy wystąpią. Wszystko to dzieje się bez wiedzy użytkownika, jeśli wynik byłby udany. Definicja złożonego oprogramowania: …

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.