Sì, ho il controllo delle mie classi e deciderò cosa vale i punti nel tuo lavoro e cosa no. Te lo dirò in anticipo, con tutto il tempo per lasciar perdere.
Non solo ti chiederò di usare la sintassi e il linguaggio che sto insegnando (per la mia facilità di valutazione e la coerenza dei risultati, come i tempi delle prestazioni), ma ti chiederò di seguire le mie regole di formattazione del codice per il rientro, i punti di tabulazione, i limiti sulla lunghezza della riga, i nomi delle variabili e come inserirli in maiuscolo e commentando nel tuo codice per aiutarmi a vedere cosa hai fatto e perché lo stanno facendo.
Poiché la verità irritata è che, quando entri nel mondo reale, scoprirai che scrivere codice funzionante non è sufficiente, il tuo codice deve essere manutenibile e leggibile da altri. E probabilmente dovrai leggere ed eseguire il debug di TANTISSIMI codice di altre persone, e allora lo apprezzerai.
Prima di diventare professore ero un responsabile di divisione responsabile del codice per un'azienda pubblica. Ai neofiti vengono spesso affidate attività di test e debug per familiarizzare con il codice e i sistemi e per valutare la loro esperienza e produttività.
Quindi, in primo luogo, i programmatori IRL passano ad altre società, dipartimenti o ruoli all'interno dell'azienda . Quindi non solo dobbiamo occuparci del codice di programmatori che non sono più con noi, i programmatori senior spesso lavorano sulla scadenza per NUOVI progetti critici e non hanno il tempo di eseguire il debug del proprio codice di anni fa, o addirittura di rispondere domande al riguardo.
Ciò rende la manutenibilità del codice molto importante, perché le librerie hardware e software, i sistemi operativi e il rilascio del compilatore / interprete cambiano molto più velocemente della nostra base di codice e danneggiano i nostri sistemi. Il codice deve essere leggibile, di facile comprensione e facile da seguire. Non voglio alcun codice "scatola nera" che "funzioni bene" perché quando smette di funzionare, non voglio riscriverlo per risolverlo.
Quindi lo impongo anche nelle mie classi. Sì, il tuo codice deve funzionare, ma non è l'intero voto. Devi usare gli strumenti che ti ho fornito, altrimenti non passi: poiché le aziende reali hanno degli standard, anche all ' editor che usi, e i miei compiti sono un esercizio in te che utilizza gli strumenti dati, non solo per ottenere la risposta giusta.
Devi anche scrivere codice che obbedisca alla mia formattazione del codice e alle linee guida per i commenti, quelle valgono un voto in lettera. Perché IRL se mi hai dato (il tuo manager) come programmatore, dovrei rispedircelo per una corretta formattazione, e ci sono 1 o 2 giorni di retribuzione e produttività perché non puoi seguire un semplice elenco di indicazioni scritte.
L'equivalente in classe è il tuo voto, quindi -10 per aver pensato erroneamente che ottenere la risposta giusta sia tutto ciò che conta per l'azienda. Come hai ottenuto la risposta è importante e anche la manutenibilità del tuo codice dopo che sei andato via o non lo gestisci più è molto importante.