Cosa dovrebbe fare il programmatore Java competente? [chiuso]

3

Per definirti un programmatore Java competente, cosa ti aspetti da te stesso e cosa dovrebbero aspettarsi gli altri da te?

Qualcuno ha idee per un progetto o un problema che potrebbe aiutare a misurare qualcuno "java-smarts"?

    
posta jozefg 02.03.2012 - 00:35
fonte

2 risposte

5

Ciao Jozefg alcuni dei miei pensieri, credo che se si considera uno sviluppatore Java compitente, allora credo che si dovrebbe,

  • Acquisisci dimestichezza con le librerie di Java SE. Per esempio. il fattore di carico in una HashMap e come sapere che questi possono essere importanti, buona conoscenza del Collezioni framework cosa usare e perché (pro / contro), Generics, Concorrenza per citarne alcuni.
  • Seguire e comprendere / conoscere le ultime modifiche alla versione più importanti nella lingua link
  • Come funziona la JVM, vedi link comprensione di come la lingua funziona sotto il cofano (raccolta dei rifiuti per es.).
  • Concetti OOP solidi e implementazione in Java. Convenzioni di codifica e modelli di progettazione.

Penso che ci siano altri aspetti non linguistici / tecnici, come ad esempio aver letto almeno alcuni libri come Effective Java (JBloch), Code Complete (zio bob), Pragmatic Programmer, Head First design Patterns sono pochi che mi viene in mente Penso che non esista una pallottola d'argento e tutti possono avere opinioni o opinioni diverse su questo, spero che questo aiuti.

    
risposta data 02.03.2012 - 01:35
fonte
2

Credo che uno sviluppatore Java competente dovrebbe conoscere i fondamenti della programmazione orientata agli oggetti, nonché i seguenti elementi:

  • Modificatori di accesso: Sapere cosa significa "privato", "pubblico", "protetto" e quando utilizzarli per comunicare agli altri indipendentemente dal fatto che il tuo metodo sia utilizzato o meno da altri pacchetti o classi.

  • Strutture dati: come suggerito da MalsR, conosciamo il framework Collections e quando utilizzare una struttura dati specifica. Non rimanere bloccato usando solo liste di array.

  • Framework: Scopri come utilizzare il framework che stai utilizzando. Ad esempio, se stai utilizzando la sicurezza di Spring, conosci la documentazione e segui gli esempi di quella community sulle best practice.

  • Conosci le lingue sul lato client: NOTA: questo è fondamentale se lavori su applicazioni Web!

Soprattutto, non rimanere bloccato solo su Java . Vedo troppi sviluppatori che lavorano su applicazioni web che non possono scrivere HTML / CSS o JavaScript puliti.

Anche se non è importante poterlo scrivere da zero, dovresti almeno sapere abbastanza da dove puoi apportare modifiche a HTML / CSS e JavaScript esistenti senza trasformarlo in codice spaghetti.

HTML / CSS e JavaScript sono la lingua del web. Se sei uno sviluppatore C #, Perl, PHP, Python, nodeJS o ColdFusion, e stai scrivendo applicazioni per il Web, allora avrai bisogno di conoscere qualche codice lato client.

Inoltre, l'apprendimento di un'altra lingua può aiutarti a trovare alcuni concetti importanti che possono aiutarti anche in Java.

In base alla mia esperienza, la maggior parte degli sviluppatori Python che ho incontrato sembrano fare un ottimo lavoro non solo imparando Python, ma anche loro possono tenere testa al front-end! Forse questo aveva a che fare con loro come imprenditori piuttosto che con dipendenti di una società più grande. Come contrattisti, avevano una maggiore responsabilità individuale nel mettere insieme componenti client e server side.

Quelle persone sono state in grado di sfruttare più opportunità perché avevano più competenze trasferibili.

    
risposta data 02.03.2012 - 03:29
fonte

Leggi altre domande sui tag