Jako młody programista uważam, że przydatne byłoby uzyskanie porady na temat rzeczy do przemyślenia w celu opracowania aplikacji wysokiej jakości. Na moich kursach uniwersyteckich większość nauczycieli podkreślała walidację danych wejściowych, a niektórzy mówili o obawach związanych z bezpieczeństwem, ale nikt nie zwracał uwagi na znaczenie niektórych innych rzeczy, na przykład rejestrowania.
Jakie błędy popełniają niedoświadczeni programiści, co może prowadzić do frustracji bardziej doświadczonych programistów?
applications
quality
professionalism
awmckinley
źródło
źródło
Odpowiedzi:
Najważniejszą rzeczą, o której nowi programiści zapominają, jest to, że w prawdziwym świecie często pracują w zespole. To pokazuje się jako ...
Nie oznacza to, że ich kod nie jest do zera w izolacji, ale nie działają już w izolacji.
źródło
W systemie Windows podatki te wynoszą :
Na prawie każdej platformie będziesz musiał poradzić sobie z:
źródło
Z mojego doświadczenia wynika, że prawie wszyscy niedoświadczeni programiści nie pamiętają, że (prawie zawsze) pracujesz w środowisku komercyjnym. Twój kod musi być dobry, ale nie idealny. Najważniejszą rzeczą nie jest perfekcja, tylko to, że kod jest wysyłany.
Innymi słowy, dostarczenie idealnego fragmentu kodu trzy miesiące po upadku Twojej firmy nie jest dobre dla nikogo.
Moim zdaniem jest to jeden z najbardziej znaczących sposobów, w jaki rozwój w prawdziwym świecie różni się od rozwoju nauczanego na uniwersytecie.
źródło
Naprawdę szerokie pytanie; szczegółowa odpowiedź to ... wiele książek.
Oto ogólna lista kontrolna definicji systemów na początek -
źródło
Czyste odsprzęganie systemu na maszynie programistycznej i maszynie docelowej, dzięki czemu nie kończy się sytuacja „Cóż, działa na moim komputerze”.
A jak szybko możesz zrekonstruować swoją maszynę programistyczną?
źródło
Myślę, że prawdopodobnie jest to projekt - tj. Podejście do myślenia o tym, co zamierzasz zrobić, zanim to zrobisz.
Zbyt wielu niedoświadczonych programistów (pamiętaj, kiedy pierwszy raz zacząłeś) lubił wskoczyć i zacząć coś robić, a następnie dodać trochę więcej, dodać trochę reklamy i dodać trochę więcej. Takie podejście może zadziałać, jeśli planujesz zrobić to w ten sposób (w końcu każdy bit można przetestować podczas pracy), ale większość niedoświadczonych programistów skupia się tylko na części, którą piszą ... więc wszystkie dodatki zwykle są zhakowane na górze. Wszyscy widzieliśmy kod, który tak ewoluował!
Następną rzeczą jest organizacja, często są zbyt skoncentrowani na kodzie, który napisali, aby pamiętać, jak to zrobili i co było wymagane. Zapominają więc spakować lub udokumentować wymaganą zależność. Mają też tendencję do umieszczania rzeczy tam, gdzie upadają, w zeszłym tygodniu musiałem skrytykować młodszego, który sprawdził swój kod w katalogu głównym, w tym 3 wsdl, z których 2 to ten sam plik, i zestaw bibliotek DLL innych firm, w których popełnił podkatalog i katalog główny. Kod nie został sformatowany do żadnego standardu, który można wymyślić, i było kilka funkcji, które były obecne, ale nigdy nie zostały wywołane.
Oczywiście sprawił, że działał, ale nie był uporządkowany, co oznaczało, że instalacja i konserwacja byłyby kłopotliwe.
źródło
Myślę, że największe różnice dotyczą techniki kodowania. Każdy ma nieco inne podejście, ale niedoświadczeni programiści zwykle tworzą kod, który:
źródło
Ponieważ pytałeś o najgorsze rzeczy, moja odpowiedź brzmi następująco:
źródło
Moim największym jest pamiętanie o planowaniu elastyczności. Na zajęciach wymagania są prawie zawsze określone na początku i nigdy się nie zmieniają. W oprogramowaniu często jest odwrotnie: otrzymujesz niejasny zestaw wymagań, które zmieniają się często (nawet codziennie). Najlepszą rzeczą, jaką możesz zrobić, aby pomóc w tym, jest elastyczne kodowanie: luźne sprzęganie, małe funkcje, które mogą być używane niezawodnie w wielu sytuacjach, i unikanie na tyle sztywnego kodowania.
Z czasem prawdopodobnie dowiesz się: a) jakie rzeczy najprawdopodobniej się zmienią, i odwrotnie, co najprawdopodobniej się nie zmieni, oraz b) jak przewidywać żądania zmian i planować je.
źródło