2009-07-13 2 views
5

Il mio team sta sviluppando il codice Java in un paio di IDE diversi, con un numero diverso di colonne. Fino ad ora ha funzionato bene, ma ci è stato chiesto di fornire codice compilabile a un partner con il codice sorgente limitato a 80 colonne. Ci piacerebbe farlo come cortesia professionale, ma non siamo in grado/disposto a lavorare con un codice limitato di 80 colonne su base giornaliera. Ci sono strumenti disponibili che prenderanno il codice Java e aggiungeranno in modo intelligente interruzioni di linea in modo che rientri negli 80 caratteri e compili ancora correttamente? Idealmente, mi piacerebbe che fosse un passo più automatico nel nostro processo di compilazione, per andare ricorsivamente attraverso la nostra directory sorgente per i file .java e produrre una copia con la nuova formattazione.Riformatta automaticamente il codice Java lungo allineato su 80 colonne e continua a compilare?

Non mi interessano le virtù del codice di 80 colonne o degli editor che fanno o non eseguono il wrap, solo per vedere se c'è una soluzione rapida che renderà felici tutti senza che nessuno debba cambiare il modo in cui fare cose.

+1

Se non si è disposti a lavorare con una larghezza di 80 colonne, non è di cortesia ciò che si intende consegnare, ma un codice splited automatizzato che non è necessariamente pronto per l'uso. Anche se potrebbe andare bene sugli 80 cols, il risultato non sarà sempre utile. Comunque questo è solo un commento. – OscarRyz

risposta

7

Non è automatizzato come preferisci, ma in Eclipse puoi definire un profilo di 80 colonne (Preferenze -> Java -> Stile codice -> Formatter), quindi in Esplora pacchetti, fai clic con il pulsante destro del mouse sul pacchetto radice e scegli Source-> Format.

+0

Grazie; dopo aver chiesto in giro sembra che questo è ciò che le persone sono disposte a fare. (E soprattutto grazie per non tenere una conferenza sui pregi/difetti del codice di 80 colonne) –

+0

Prego. Potrei vedere, in altre circostanze, essere un po 'più dogmatico al riguardo, ma chiaramente non stavi sostenendo le 80 colonne; è solo qualcosa che devi fare e vuoi il modo meno doloroso per farlo. Felice di aiutare. –

+4

È possibile eseguire Eclipse formattatore da riga di comando: http: //blogs.operationaldynamics.it/andrew/software/java-gnome/eclipse-code-format-from-command-line.html – notnoop

8

Intellij ed eclissi e quasi tutti gli IDE lo faranno. Ma ...

Forse vuoi chiederti se vuoi automatizzarlo, anche se lo fai in modo automatico, diciamo maven, il codice potrebbe essere suddiviso in un modo più difficile da leggere di quello era prima, può essere spezzato nel mezzo di una linea o metodo importante e non lo vuoi, anche se lo compila.

Quello che abbiamo fatto in passato è impostare un paio di file .xml con le impostazioni di eclipse o intellij (entrambi consentono di esportare le impostazioni), quindi con Maven usa il plugin checkstyle per far rispettare agli sviluppatori questo impostazioni; ti consentirà di farlo giorno per giorno sempre con uno sviluppatore che decida quando il codice deve interrompere la linea.

E, infine, forse si vuole utilizzare il 100 o il 120, sono i nuovi 80.

+1

+1 per "100 o 120 sono i nuovi 80". Lo adoro. –

0

Io suggerirei di usare il codice Formater in Eclipse per ottenere il 80 colonne tema curato.

Poi, per assicurarsi che non manca nulla - dare un'occhiata a checkstyle di vedere che si sta aderendo a tali standard

0

Qualsiasi IDE moderno si auto-riformattare secondo il vostro stile preferito, ma lo farei fallo solo su codice che è seriamente non formattato, altrimenti può sembrare meno leggibile. In particolare se l'autore originale ha fatto molta formattazione personalizzata per chiarezza, il risultato lo perderà.

E io secondo il suggerimento di passare a 100-120 caratteri. Il limite di 80 caratteri era adatto per i terminali CRT (24 linee x 80 colonne) e per lo 1928 IBM punch card standard.

+0

Sì, l'obiezione è già stata sollevata sul fatto che il codice pre-abbellito sarà brutto, ma alla persona che riceve il codice non interessa tanto: per varie ragioni deve usare un terminale da 80 caratteri da leggere. –