Mi è sempre piaciuta la fisica, e mi è sempre piaciuta la codifica, quindi quando ho ottenuto l'offerta per una posizione di dottorato di ricerca sulla fisica numerica (i dettagli non sono rilevanti, è principalmente la programmazione parallela per un cluster) in un'università, è stato un gioco da ragazzi per me.
Tuttavia, come molti fisici, sono autodidatta. Non ho una vasta conoscenza di base su come codificare in modo orientato agli oggetti, o il nome di quell'algoritmo specifico che ottimizza la ricerca in qualche albero kD.
Dal momento che tutto il mio lavoro finora è stato più preoccupato per la fisica e i risultati scientifici, ho indubbiamente alcune cattive abitudini, soprattutto perché la mia codifica è mia e non è veramente lavoro di squadra. Ho usato principalmente C dal momento che è molto semplice e "quello che scrivi è ciò che ottieni" - non c'è bisogno di astrazioni fantasiose. Tuttavia, di recente sono passato al C ++ dal momento che mi piacerebbe saperne di più sulla potenza fornita con l'astrazione, ed è piuttosto simile a C (almeno sintassi).
Come faccio a insegnare a me stesso a codificare in modo buono e astratto come un laureato in informatica?
So che il mio codice è efficiente, ma voglio che sia elegante e leggibile. Tieni presente che non ho il tempo di leggere diversi tomi di 1000 pagine sulla programmazione astratta. Ho bisogno di dedicare del tempo a ricerche relative alla fisica (il mio supervisore riderebbe di me se sapesse che ho passato del tempo a pensare a come programmare elegantemente). Come valuto se il mio lavoro è anche buono dal punto di vista del programmatore?