what's naming convention scala enumeration type? example, in below code:
object eventtype extends enumeration { type eventtype = value val registered = value("registered") val started = value("started") } /** * event fires under specific life cycle * * @param eventtype [[eventtype.eventtype]] */ case class event(eventtype: eventtype.eventtype) the above code follows same style described in scala doc. question here can see name of "eventtype.eventtype" quite redundant , quite strange when compared enum definitions in other languages java or c#.
so i'm wondering if there recommended naming style improve readability?
thanks in advance.
to shorten can use import underscore import object eventtype. instead of import eventtype use import eventtype._. here example:
scala> object eventtype extends enumeration { | type eventtype = value | | val registered = value("registered") | val started = value("started") | } defined object eventtype scala> object test { | import eventtype._ | | case class event(eventtype: eventtype) | } defined object test things might seem confusing because eventtype name of object , eventtype.eventtype type of enum. if use way:
eventtype.registered then in case it's name of object, not type. on contrary, here:
case class event(eventtype: eventtype) it's name of type, i.e. 1 defined type eventtype.
if want avoid confusion can give different name type:
scala> object events extends enumeration { | type eventtype = value | val registered = value("registered") | val started = value("started") | } defined object events scala> object test { | import events._ | case class event(eventtype: eventtype) | val = event(registered) | } defined object test
Comments
Post a Comment