Supponiamo che io sono un trait
a Scalaconvenzione di denominazione di Scala per i tratti
trait Connection {
def init(name: String)
def dispose
}
E voglio creare una classe che implementa. Ma voglio nominarlo come Connection
anche:
class Connection extends Connection {
// ....
}
Non è andare a lavorare. Ovviamente, potrei nominare lo trait
in modo diverso, ma ho scoperto che la convenzione di denominazione in Scala dice che dovrei nominare i tratti come classi ordinarie, ovvero senza prefisso, che userei in C# (IConnection
dove IConnection
sarebbe il interface
) .
E in questo caso particolare il nome di Connection
per class
e trait
è più adatto.
Oppure mi sono perso qualcosa nella convenzione di denominazione di Scala?
Penso che l'opzione 1 sia la più comune nella pratica. L'opzione 2 è confusa quando stai leggendo il codice. – monkjack
@monkjack Esatto; Potrebbe sembrare di ripetere le stesse informazioni ma d'altra parte non ci si può aspettare che tutti gli sviluppatori abbiano tutto il contesto del pacchetto di tutti i tipi nella loro testa. – AlexG