Alternative all'annotazione JDT - Problemi di licenza

1

Ho usato la libreria Annotazione JDT nel mio progetto Java perché mi piace molto ciò che offre. Per essere più precisi, ho utilizzato le annotazioni @Nullable e @NonNullByDefault perché posso utilizzare la sinergia con Eclipse per analizzare automaticamente possibili valori di null e cosa può portare a NullPointerException bug.

Sfortunatamente, JDT Annotation è concesso in licenza con EPL1 che, per quanto ne so, è incompatibile con GPL2 perché il primo è una licenza di permesso d'autore debole e la scelta di alcune clausole. Poiché il progetto dovrebbe essere pubblicato con una licenza GPL2, sto esplorando diverse opzioni, ma non ho ancora nessuna soluzione che offra la stessa funzionalità o quasi la stessa.

Non sono entusiasta di aggiungere controlli nulli in quanto ingombrano il codice solo con quello che un'annotazione potrebbe aver risolto. Ma sfortunatamente sembra essere l'unica opzione praticabile? Sto cercando alcune competenze in merito a questo argomento. Quello che propongo è di usare Preconditions di Google per formulare precondizioni come:

Preconditions.checkArgument(providedArgument != null, "The provided argument must not be null!");

rispettivamente:

Preconditions.checkState(invariantField != null, "The field may not be null!");

Questi risolveranno il problema naturalmente e saranno più espliciti, secondo me, quando si tratta di documentare i miei contratti tramite codice. Di solito li denuncio anche con tag personalizzati nel mio Javadoc, ad esempio @pre providedArgument != null o @inv invariantField != null .

Sarei grato per tutti

    
posta Eric 17.03.2014 - 10:17
fonte

1 risposta

2

Le annotazioni null sono configurabili in Eclipse. Puoi creare il tuo set di @Null , @NonNull e @NonNullByDefault annotazioni e configurare Eclipse per usarli al posto di quelli standard dal pacchetto org.eclipse.jdt.annotation . Vedi qui .

    
risposta data 17.03.2014 - 11:08
fonte

Leggi altre domande sui tag