Qual è la migliore lezione che hai imparato nella tua carriera? [chiuso]


26

Penso che il mio sia "non esiste un lavoro di cinque minuti" - che i programmatori tendono ad essere eccessivamente ottimisti riguardo allo sviluppo e che dovremmo davvero riflettere sulle implicazioni prima di promettere una soluzione rapida a un problema e poi immergerci nel codice

Risposte:


26

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.


E una volta che hai risolto il problema, smetti di picchiarti. Impara, migliora ma completa il lavoro. Sono stato paralizzato all'IDE perché ero preoccupato che mi mancasse un trucco. Ecco a cosa serve il refactoring. :-)
Iain Holder

17
  1. Pensa prima di iniziare a scrivere codice.

  2. Non c'è niente di più permanente delle soluzioni temporanee :)

  3. Se è terribilmente difficile risolvere un problema, molto probabilmente il problema stesso è posto male fin dall'inizio.


11

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.


9

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.


Penso che questa risposta meriti più voti positivi. +1 da parte mia :-)
Geek


7

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.


6

Il software non è mai completo.

Ci sono sempre alcune modifiche ai requisiti, miglioramenti, correzioni di bug che devi essere preparato a gestire. Quindi, sii flessibile e accetta il fatto "software is never complete"e ha sempre margini di miglioramento.


5

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.


1
Le cose teoriche sono un'eccezione a questo.

5

"Se la tua matematica è sbagliata, sei un brindisi."

L'ho imparato la prima volta diversi anni fa. L'ho imparato di nuovo solo due settimane fa.


3

Direi che la migliore lezione che ho imparato è

"Dovresti sempre cercare il miglior approccio possibile e non il tuo approccio."


3

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 principleafferma 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.


3

Se non è rotto, non aggiustarlo!

Cercare di estendere e migliorare cose che già funzionano può farti venire il mal di testa


3

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.


Cosa ne pensi delle circostanze in cui il tuo capo / manager vuole davvero che tu comprometta la qualità a spese del lavoro futuro e altre cose al fine di svolgere il lavoro più rapidamente?
Sam

3

"Questo non accadrà mai" significa in realtà "Non accadrà mai fino al primo giorno di produzione"


2

È bello scrivere codice pulito, all'avanguardia e all'avanguardia.

Anche se mi viene chiesto di fare qualche soluzione rapida che rovinerebbe la base di codice, preferisco farlo nel modo giusto.


1
  • 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.


0

Non usare le fantasiose funzionalità OOP solo perché puoi! - YAGNI (Non ne avrai bisogno)

Use fancy OOP featuresperché 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 .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.