Tak, kontroluję moje zajęcia i zdecyduję, co w twojej pracy jest warte punktów, a co nie. Powiem ci to z góry, mając mnóstwo czasu na wypowiedzenie.
Nie tylko wymagam od ciebie używania składni i języka, którego uczę (dla mojej własnej łatwości oceniania i spójności wyników, jak czas wykonania), ale będę wymagał przestrzegania moich reguł formatowania kodu dotyczących wcięć, tabulatorów, ograniczeń długości linii, nazw zmiennych i ich wielkości oraz komentowania w kodzie, aby pomóc mi zobaczyć, co zrobiłeś i dlaczego robią to.
Ponieważ bolesna prawda jest taka, że kiedy wejdziesz do prawdziwego świata, przekonasz się, że pisanie działającego kodu nie wystarczy, Twój kod musi być obsługiwany i czytelny dla innych. Są szanse, że będziesz musiał przeczytać i debugować TONY kodu innych ludzi, a wtedy to docenisz.
Zanim zostałem profesorem, byłem kierownikiem oddziału odpowiedzialnym za kod w firmie publicznej. Początkujący często otrzymują zadania testowania i debugowania, aby zapoznać ich z kodem i systemami oraz ocenić ich wiedzę specjalistyczną i produktywność.
Najpierw programiści IRL przechodzą do innych firm, działów lub ról w firmie. . Więc nie tylko musimy zajmować się kodem przez programistów, których już z nami nie ma, starsi programiści często pracują nad terminem krytycznych NOWYCH projektów i nie mają czasu na debugowanie własnego kodu sprzed lat, a nawet na odpowiedź pytania na ten temat.
To sprawia, że konserwacja kodu jest bardzo ważna, ponieważ biblioteki sprzętu i oprogramowania, systemy operacyjne i wydania kompilatora / interpretera zmieniają się znacznie szybciej niż nasza baza kodu i psują nasze systemy. Kod musi być czytelny, łatwy do zrozumienia i łatwy do naśladowania. Nie chcę żadnego kodu „czarnej skrzynki”, który po prostu „działa poprawnie”, ponieważ kiedy przestaje działać, nie chcę go przepisywać, aby to naprawić.
Dlatego też egzekwuję to na moich zajęciach. Tak, twój kod musi działać, ale to nie jest cała ocena. Musisz użyć narzędzi, które ci dałem, albo nie zdasz: ponieważ prawdziwe firmy mają standardy, nawet do edytora , z którego korzystasz, a moje zadania są ćwiczeniem w tobie przy użyciu podanych narzędzi, nie tylko uzyskanie właściwej odpowiedzi.
Musisz także napisać kod, który jest zgodny z moimi wytycznymi dotyczącymi formatowania i komentowania, są one warte oceny literowej. Ponieważ IRL, gdybyś dał mi (swojemu menedżerowi), że jako programista musiałbym odesłać to do Ciebie w celu odpowiedniego sformatowania, a twoje wynagrodzenie i produktywność miną 1 lub 2 dni, ponieważ nie możesz śledzić prostej listy pisemne wskazówki.
Odpowiednikiem w klasie jest Twoja ocena, więc -10 za błędne myślenie, że uzyskanie prawidłowej odpowiedzi jest wszystkim, co ma znaczenie dla firmy. To, jak otrzymałeś odpowiedź, jest bardzo ważne, a możliwość utrzymania kodu po odejściu lub zaprzestaniu jego utrzymywania jest również bardzo ważna.