Risposte:
C'è sempre un modo migliore per scrivere il tuo codice.
Non importa quanto sia eccellente trovare il codice che scrivi, rimarrai sorpreso da quanto è brutto se lo rivedi in pochi anni. Solo perché qualche anno prima non eri a conoscenza di alcuni schemi che conosci oggi, o di alcune funzionalità linguistiche che hai imparato nel frattempo, ecc.
Pensa prima di iniziare a scrivere codice.
Non c'è niente di più permanente delle soluzioni temporanee :)
Se è terribilmente difficile risolvere un problema, molto probabilmente il problema stesso è posto male fin dall'inizio.
Il tuo software vivrà considerevolmente più a lungo di quanto pensi al momento in cui lo scrivi.
Ho iniziato la mia carriera negli anni '80. Ho iniziato con un software nato negli anni '70 e ancora utilizzato negli anni '90 (forse più a lungo, non so per certo del suo destino). Parte del mio codice open source è a metà della seconda decade.
Lavorare bene con gli altri è molto importante.
"Mostrami il tuo 'Vai a ragazzo' e ti mostrerò il tuo problema"
Slapdash Hero Coders - coloro che hanno appena tirato fuori il codice senza riguardo per le convenzioni, la leggibilità o qualunque altra cosa stia lavorando su - possono causare più danni che benefici.
Non dire che le persone che sanno scrivere tonnellate di codice di buona qualità sono cattive. Solo raro.
Imparare nuove lingue fa parte del lavoro
Ho imparato a conoscere quattro linguaggi di programmazione a scuola negli anni '80, ma ne ho usato uno in un lavoro. Ho avuto quattro lavori in cui non conoscevo nemmeno la lingua che sono stato assunto per usare.
Nel complesso, ho imparato e usato professionalmente forse una dozzina di lingue nella mia carriera, tra cui FORTRAN, c, c ++, c #, java, perl, Tcl, ruby, groovy, awk, python, sh, batch, DCL, javascript e un alcuni piccoli DSL. Facendo un po 'di matematica, mi sembra di fare una media di una nuova lingua ogni due anni, anche se ci sono molte sovrapposizioni.
Se qualcosa è stato una costante nella mia carriera, è un cambiamento.
Continua a studiare ogni giorno. La conoscenza di oggi è domani obsoleta.
Ironia della sorte, questa risposta dovrebbe essere obsoleta anche domani. Ma davvero, studia duramente una o due cose e sii certificato se è possibile, sii il Dio di quelle cose (forse linguaggi di programmazione o amministrazione di sistema / rete / database) e tieni sempre d'occhio altre cose minori, come altre lingue senza importanza per tu.
Voglio dire, ad esempio, essere un professionista eccezionale dell'amministrazione Java e Oracle DB, ma studiare un po 'di Python, PHP, C ++, HTML5, Javascript, anche se non a un livello di certificazione. Studia ogni quadro web o linguistico esistente. Studia o prova ad avere qualche esperienza (di base) con ogni database esistente, come SQL Server, MySQL, Cassandra, HBase, PostgreSQL e l'intero mondo No-SQL come MongoDB e CouchDB. Prova ad avere qualche esperienza con l'amministrazione e la virtualizzazione di Linux.
Questa è la lezione più grande che ho imparato dai miei 16 anni di esperienza. Sono stato per quasi 10 anni un programmatore mono-lingua, usando Pascal nella sua era, e Visual Basic 6 all'inizio del millennio, e uno sviluppatore di PHP da 9 anni fa. Ma da allora apprendo che gli sviluppatori devono sapere almeno un po 'di tutto.
Ho imparato che il miglior principio di progettazione è KISS (Keep it simple, Stupid!) .
Ho imparato che mantenere il tuo codice semplice e pulito dovrebbe essere la preoccupazione principale e ogni membro del team dovrebbe capire cosa hai il codice. The KISS principle
afferma che la maggior parte dei sistemi funzionano meglio se mantenuti semplici anziché resi complessi, pertanto la semplicità dovrebbe essere un obiettivo chiave nella progettazione e la complessità inutile dovrebbe essere evitata.
Non c'è una prova
Supponiamo che tu abbia un'attività o un gruppo di attività che si stima durino 4 giorni. Quindi il tuo capo o project manager ti chiede se potresti provare a farlo in due giorni per qualche motivo importante. Volendo essere un dipendente buono e flessibile, potresti essere tentato di dire: certo, puoi provare. I risultati più probabili di questo è che o manchi la scadenza, o stai per fare un trucco a metà per farlo. E non è colpa del tuo capo per averti chiesto di farlo, è il suo lavoro. È colpa tua se non hai detto di no, qual è il tuo lavoro.
Non puoi contrattare con il tempo. Puoi contrattare con scope. Sii professionale e non venderti allo scoperto.
"Questo non accadrà mai" significa in realtà "Non accadrà mai fino al primo giorno di produzione"
Scrivere codice è facile. La lettura del codice è difficile. Anche se il codice è tuo. Quindi, quando possibile, scegli un approccio leggibile.
Non sei più intelligente di altri. Non pensare mai che il tuo approccio sia il migliore solo perché è tuo.
Presta attenzione a COSA si dice, non a CHI si dice. Idee brillanti potrebbero venire per le fonti più inaspettate.
Non essere pigro. Prenditi il tuo tempo per scrivere un bel codice. Dovrai comunque ripararlo a un costo più elevato.
Non usare le fantasiose funzionalità OOP solo perché puoi! - YAGNI (Non ne avrai bisogno)
Use fancy OOP features
perché hanno benefici specifici e dimostrabili sul problema che stai cercando di risolvere . Ridi, ma lo vedo sempre. La maggior parte dei programmatori non ha mai incontrato un oggetto che non gli piaceva. Penso che dovrebbe essere il contrario: queste tecniche sono colpevoli fino a prova contraria alla corte dei KISS .