migliori pratiche per il packaging nei progetti Scala?

3

Scala viene eseguito su JVM, ma ciò non significa che dobbiamo scrivere come Java. Eclipse scoraggia l'uso del pacchetto predefinito. Quali sono alcune considerazioni (ad esempio la dimensione del progetto) che determinano in che modo il codice dovrebbe essere impacchettato in Scala?

    
posta Walrus the Cat 17.04.2015 - 02:23
fonte

2 risposte

3

Le best practice dei pacchetti Scala sono generalmente le stesse delle convenzioni Java, secondo la Guida allo stile .

// wrong!
package coolness
// right!
package com.novell.coolness
// right, for package object com.novell.coolness
package com.novell
/**
 * Provides classes related to coolness
 */
package object coolness {
}
    
risposta data 17.04.2015 - 05:39
fonte
1

I pacchetti sulla JVM hanno un compito molto importante: fornire uno spazio dei nomi unico a livello globale per tutte le tue classi. Non importa se scrivi il tuo codice con Scala o Java o Clojure; alla fine tutti vengono compilati in .class file o archivi JAR. Notare che Scala non è l'Anti-Java, ma l'interoperabilità con Java era un obiettivo di progettazione primario.

Quindi la convenzione di denominazione dei pacchetti si applica non solo a Java ma essenzialmente a qualsiasi cosa che gira su JVM e vuole interoperare con Java. L'utilizzo del Domain Name System come base per i nomi dei pacchetti ti consente di registrare facilmente uno spazio dei nomi unico a livello globale per il tuo codice.

Ho scritto codice in un numero sufficiente di lingue che non presentano convenzioni analoghe e il nome scontro che invariabilmente si presenta è dannatamente noioso. Chi avrebbe mai immaginato che due progetti avrebbero pubblicato il sistema One And Only template ? Chiaramente nessun altro potrebbe scrivere un migliore http client. In particolare, le convenzioni in C ++, Python, Perl e NodeJS non sono soddisfacenti, mentre Java sorprendentemente ottiene questo diritto.

    
risposta data 17.04.2015 - 07:58
fonte

Leggi altre domande sui tag