tło Pracuję nad trwającym projektem C #. Nie jestem programistą C #, przede wszystkim programistą C ++. Więc przydzielono mi w zasadzie łatwe i refaktoryzujące zadania. Kod to bałagan. To ogromny projekt. Ponieważ nasz klient domagał się częstych wydań z nowymi funkcjami i poprawkami błędów, wszyscy inni programiści byli zmuszeni …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Pracuję nad dość dużą i wadliwą aplikacją - a ze względu na sposób, …
Tam, gdzie pracuję, ludzie (konsultanci) odczuwają presję, aby jak najszybciej udostępnić funkcje. Zamiast więc spędzać zbyt dużo czasu na myśleniu o tym, jak robić rzeczy we właściwy sposób lub ponieważ nie chcą niczego zepsuć, kod jest kopiowany z różnych modułów i modyfikowany. Nie jest łatwo temu zapobiec, ponieważ podstawa kodu …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . Właśnie napisałem funkcję, która obejmuje około 100 linii. Słysząc to, prawdopodobnie masz ochotę …
Refaktoryzuję ogromną klasę kodu starszego typu. Refaktoryzacja (jak sądzę) zaleca: pisz testy dla starszych klas refaktorem do cholery z klasy Problem: po ponownym złożeniu klasy moje testy w kroku 1 będą musiały zostać zmienione. Na przykład to, co kiedyś było starszą metodą, teraz może być osobną klasą. To, co było …
Problem Powiedzmy, że mam klasę o nazwie, DataSourcektóra zapewnia ReadDatametodę (i może inne, ale bądźmy prostymi) do odczytu danych z .mdbpliku: var source = new DataSource("myFile.mdb"); var data = source.ReadData(); Kilka lat później postanawiam, że chcę być w stanie obsługiwać .xmlpliki oprócz .mdbplików jako źródeł danych. Implementacja „odczytu danych” jest …
W naszym systemie śledzenia błędów mamy pola „priorytet” i „ważność”. Istotność definiujemy jako „jak wpływa na użytkownika”, a priorytet na „jak wpływa na produkt”. Moje pytanie dotyczy tego, jak sklasyfikować zadanie „poprawy kodu” pod względem ważności i priorytetu. Załóżmy, że ulepszenie nie zmienia żadnego zachowania, ale czyni go „lepszym kodem”. …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 4 lata temu . Kontekst: to wewnętrzny projekt (nie sądzę, że wiele osób korzysta) to jest stare aktualizujemy to Problemy: narusza strukturę mvc …
Zagadka: W trakcie pracy nad nową funkcją lub naprawy usterki w kodzie występuje problem ze starszymi wersjami. Co powinieneś zrobić? Napraw to i zaryzykuj zachowanie kodu. Albo działał do tej pory przez jakiegoś fuksa, albo wada nie została wykryta lub nikogo nie warto zgłaszać. Czy powinieneś zostawić go w spokoju …
Dla mnie kod płyty głównej jest oczywiście zły. Jednak spotkałem programistę, który wykazuje opór przy każdej próbie zmniejszenia płyty kotłowej. Uświadomiłem sobie, że nie miałem łatwo sformułowanego, dobrze przemyślanego argumentu po odrazie, którą rozwinąłem z czasem. Jakie są niektóre kontrargumenty, abym mógł sformułować przekonujący argument za faworyzowaniem mniejszej liczby płyt …
Załóżmy, że mamy 1001 klientów, którzy konstruują swoje zależności bezpośrednio, zamiast akceptować zastrzyki. Według naszego szefa refaktoryzacja 1001 nie jest opcją. W rzeczywistości nie mamy nawet dostępu do ich źródła, tylko do plików klas. Powinniśmy „zmodernizować” system, przez który przechodzi 1001 klientów. Możemy refaktoryzować to, co lubimy. Zależności są częścią …
Podczas dyskusji jeden z moich kolegów powiedział, że ma pewne trudności z bieżącym projektem podczas próby rozwiązania błędów. „Kiedy rozwiązuję jeden błąd, coś innego przestaje działać gdzie indziej”, powiedział. Zacząłem myśleć o tym, jak to się mogło stać, ale nie mogę tego rozgryźć. Czasami mam podobne problemy, gdy jestem zbyt …
Uwielbiam to, że pisanie Pythona, Ruby lub Javascript wymaga tak niewielkiej liczby elementów. Uwielbiam proste konstrukcje funkcjonalne. Uwielbiam czystą i prostą składnię. Są jednak trzy rzeczy, w których jestem naprawdę zły podczas tworzenia dużego oprogramowania w dynamicznym języku: Poruszanie się po kodzie Identyfikowanie interfejsów obiektów, których używam Wydajna refaktoryzacja Próbowałem …
Czy kiedykolwiek spotkałeś się z przypadkiem duplikacji kodu, w którym, patrząc na linie kodu, nie mogłeś dopasować do niego abstrakcji tematycznej, która wiernie opisuje jego rolę w logice? A co zrobiłeś, aby to rozwiązać? Jest to powielanie kodu, więc idealnie musimy zrobić refrakcję, na przykład nadać jej własną funkcję. Ale …
Dla tych z was, którzy mają szczęście nie pracować w języku z dynamicznym zakresem, pozwólcie, że trochę odświeżę, jak to działa. Wyobraź sobie pseudo-język o nazwie „RUBELLA”, który zachowuje się tak: function foo() { print(x); // not defined locally => uses whatever value `x` has in the calling context y …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.