Jestem początkującym programistą internetowym (rok doświadczenia). Kilka tygodni po ukończeniu studiów zaproponowano mi pracę nad aplikacją internetową dla firmy, której właściciel nie jest specjalistą od technologii. Zrekrutował mnie, aby uniknąć kradzieży jego pomysłu, wysokich kosztów rozwoju naliczanych przez firmę usługową i mieć kogoś młodego, któremu mógłby zaufać na pokładzie, aby …
To pytanie często zadaję sobie podczas pracy z programistami. Do tej pory pracowałem w czterech firmach i uświadomiłem sobie brak dbałości o utrzymanie kodu w czystości i radzenie sobie z technicznymi zadłużeniami, które utrudniają przyszły postęp w aplikacji. Na przykład, pierwsza firma, dla której pracowałem, napisała bazę danych od zera, …
Rozumiem presję harmonogramu. Chcesz zadowolić swoich użytkowników, ponieważ są siłą napędową firmy. Prawdą jest jednak również to, że pewne zmiany ułatwią wszystko w drodze. Niestety, zarządzanie w mojej organizacji ma instynktowny opór wobec takich zmian, a ten opór jest tak silny, że przeszkadza w długoterminowej poprawie. Na przykład firma Apple …
Jedną z najbardziej podstawowych i powszechnie akceptowanych zasad tworzenia oprogramowania jest OSUSZANIE (nie powtarzaj się). Oczywiste jest również, że większość projektów oprogramowania wymaga pewnego rodzaju zarządzania. Jakie są teraz łatwe do zarządzania zadania (ocena, harmonogram, kontrola)? Właściwe, powtarzalne zadania, dokładnie takie, których należy unikać zgodnie z DRY. Z punktu widzenia …
Czy ktoś wie, czy istnieje jakiś rodzaj narzędzia do obliczania długu technicznego bazy kodu, jako rodzaju miernika kodu? Jeśli nie, to czy ktoś wie o algorytmie lub zestawie heurystyk? Jeśli żadna z tych rzeczy nie istnieje do tej pory, byłbym zainteresowany pomysłami, jak zacząć od takiej rzeczy. To znaczy, w …
Jak zabierasz się za wyjaśnianie refaktoryzacji (i zadłużenia technicznego) osobie nietechnicznej (zwykle PHB lub klientowi)? („Co, będzie kosztowało mnie miesiąc twojej pracy bez widocznej różnicy ?!”) AKTUALIZACJA Dzięki za wszystkie dotychczasowe odpowiedzi, myślę, że ta lista dostarczy kilku przydatnych analogii, na które możemy wskazać odpowiednie osoby (choć edytowanie odniesień do …
Jak w wiarygodny sposób oszacować lub zmierzyć korzyści wynikające z refaktoryzacji kodu w starym, dużym projekcie z zadłużeniem technicznym? Załóżmy na przykład, że masz niektóre komponenty w stosie oprogramowania napisane w starszym języku, a niektóre późniejsze komponenty w nowszym języku. Zespół programistów stale dodaje do tego rozwiązania nowe funkcje i …
Ten artykuł na temat długu technicznego ma kilka dobrych zalet, w tym: Praca nad „sprawami technicznymi” działa najlepiej, gdy opiera się na opowieściach. Baza kodu prawdopodobnie potrzebuje pracy wszędzie, ale wypłata zostanie uzyskana tylko tam, gdzie kod będzie przetwarzany z powodów związanych z użytkownikiem. Jeśli żadne wątki nie przejdą przez …
Czy istnieje anty-wzorzec opisujący historycznie rozwijany system oprogramowania, w którym wielu programistów właśnie dodało nowe funkcje do systemu, ale nikt tak naprawdę nie pilnował ogólnej architektury ani nigdy nie przeprowadzono refaktoryzacji? Wydaje mi się, że dzieje się tak, gdy zarząd / klient ciągle prosi o nową funkcję i nikt nigdy …
Załóżmy, że pracujesz dla firmy i tworzysz dla nich oprogramowanie. Nie masz pojęcia o dużym obrazie, a może drobnym. To, co masz, to zadania przypisane do ciebie przez system śledzenia problemów. Otrzymujesz zadania, sprawiasz, że działają tak, jak je opisuje zadanie, odsyłasz je z powrotem. Jak dodanie 2 liczb całkowitych: …
Co to są „firmy produkujące oprogramowanie niestandardowe”? Przez „firmy produkujące oprogramowanie niestandardowe” rozumiem firmy, które zarabiają przede wszystkim na tworzeniu niestandardowych, jednorazowych części oprogramowania. Przykładem są agencje lub firmy zajmujące się oprogramowaniem średnim lub kontrahenci / konsultanci, tacy jak Redify . Jakie jest przeciwieństwo „firm produkujących oprogramowanie niestandardowe”? Przeciwieństwem powyższego …
Do mojej płyty Pivotal Tracker dodałem kilka historii użytkowników, które rozwiązują problemy techniczne. Czy powinienem uważać je za cechy (utrzymywanie poziomu prędkości) czy za obowiązki / błędy (obniżanie prędkości)? Rozumiem, że na dłuższą metę nie zrobi to żadnej różnicy, jeśli zrobię jedno lub drugie konsekwentnie, ale za każdym razem, gdy …
Oto moja sytuacja. Jeden z kilku programów, które niedawno odziedziczyłem, jest zbudowany ze strasznej bazy danych na backendie. Szanowani twórcy tego najwyraźniej nie docenili koncepcji relacyjnych. Tabela dla każdego klienta, nazwana jako unikalny identyfikator klienta. Osiemdziesiąt trzy pola o kryptonimie nazwanym. Cały kod jest proceduralny z dziesiątkami połączonych wbudowanych instrukcji …
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 …
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.