2010-10-21 10 views
6

Sono esperto in Java e sto iniziando a sperimentare con Groovy. Poiché i due sono integrati così bene, mi trovo a scrivere in Java tutto quello che posso perché è così facile. Quali consigli specifici puoi offrire per accelerare il mio lavoro con Groovy?Best practice che passano da Java a Groovy

Significato: in quali aree eccellono su java e dove devo attenermi a Java?

+0

Così fuori tema, ma così bella domanda! –

+0

Scrivere in Java non è più semplice della scrittura in Groovy. Ad eccezione dei problemi di prestazioni, Groovy è molto più comunicativo e porta a un codice che sembra il problema. In Java tutto sembra come Java. –

+2

Questa domanda sembra essere fuori tema perché riguarda un elenco di cose. –

risposta

3

Alcune delle cose principali che mi piacciono Groovy per:

  • test è probabilmente la vittoria più grande. La capacità di modificare il comportamento in fase di esecuzione e i metodi di simulazione è una delle cose più importanti di Groovy. Converti le tue suite di test in groovy ora!
  • utilizzare i costruttori. I costruttori Groovy hanno molto più espressività rispetto al java tradizionale. In particolare, il MarkupBuilder per frammenti integrati di XML o HTML è 1000s di volte più bello da usare rispetto java vaniglia
  • GPars se si sta facendo qualsiasi tipo di programmazione concorrente o filettare

vedere anche Hidden features of Groovy e Why would one use Groovy over Java(nota: "rimosso da Stack Overflow per motivi di moderazione").

Dove mi piacerebbe restare con Java:

  • qualsiasi luogo in cui la velocità è importante, bastone con Java. Paghi ancora un alto costo in termini di prestazioni per la natura dinamica di Groovy.
+1

Vorrei aggiungere anche la raccolta a un vantaggio. Molto più bello e veloce da scrivere in groovy. – Scott

-2

Il problema con Groovy.

Groovy è un incubo di facile scrittura, ma di manutenzione. Secondo me, non dovrebbe essere usato in grandi progetti. Ereditare il codice di qualcun altro (o il proprio) può essere problematico, perché molto spesso non si ha idea del tipo di una variabile, in modo da avere la dovuta diligenza da scoprire o utilizzare asserzioni per garantire il tipo in entrata a un metodo.

Groovy è un linguaggio con dattilografia debole. Il tipo di una variabile viene frequentemente ignorato, o "convenientemente" lanciato automaticamente, il che porta a molti bug e prestazioni più lente.

Anche i migliori IDE mancano, perché le variabili praticamente prive di significato della lingua. In molti casi la compilazione non può sapere quale sia il tipo di una variabile. Anche se dichiari il tipo di una variabile (che aiuta l'editor a dare suggerimenti), molti programmatori dimenticano di definire il tipo di variabile.

Ha idee interessanti che mi piacerebbe vedere in Java, ma stare lontano da esso se il codice Groovy richiederà più di mille righe.

* Le risposte in un guscio di noce * Riassumendo, ecco le risposte ad entrambe le domande:

Quali consigli specifici si può offrire che sarebbe velocizzare il mio lavoro con Groovy?

Utilizzare solo per piccole cose. Altrimenti, dovrai sostenere un debito tecnico (vedi Wikipedia). Finora mi trovo in una situazione simile. I test delle unità, l'uso della console per testare pezzi di codice, ecc., Sono cose che accelerano il tuo sviluppo, dal momento che è così facile da imparare e da usare. Assicurati di controllare le chiusure, le raccolte e il ciclo e di capire quali funzioni Java sono non disponibili in Groovy.

Non utilizzare Groovy puro per applicazioni complesse o di grandi dimensioni. A lungo termine la manutenzione ti rallenterà.

Significato - in quali aree Groovy eccellono su Java, e dove dovrei attenersi a Java?

In un progetto ampio o critico è necessario essere disciplinati e utilizzare strumenti affidabili. È come costruire una casa: io costruisco una casa delle bambole, Groovy va bene :-) ... se non è perfetto, non è un grosso problema. Se costruisci la tua casa o qualcosa di più grande con poca tolleranza per errore, devi usare strumenti e materiali di qualità di migliore qualità che non ti permettano di sorvegliare potenziali problemi (Java, per esempio).

In ogni caso, Groovy è come un nastro d'anatra: alcuni qua e là possono non fare danni.

+0

Non proprio una risposta. – ripper234

+1

Sembra Groovy scritto male e/o architettato piuttosto che "GRROVY IS TEH BAD MKAY". –