/ / Об'єкт пакета для визначення типів - scala, package, type-definition

Об'єкт пакету для визначення типу - scala, package, type-definition

Я все ще новачок у Scala і маю питання щодо об'єкта пакета.

У мене є пакет com.pack.age.command яка містить таку ознаку:

trait Command

case object Help extends Command

Тепер я хотів би визначити функцію для обробки команд:

type CommandArgument = scala.Any
type CommandProcessor = Command => CommandArgument => Unit

Я схильний вводити ці визначення в об'єкт пакету.

package object command {
type CommandArgument = scala.Any
type CommandProcessor = Command => CommandArgument => Unit
}

Причина полягає в тому, що ці типи однакові для всіх команд, тому на мене це дуже логічно виглядає.

Але чи часто це робиться в Скалі?

Відповіді:

1 для відповіді № 1

Хоча мені особисто подобаються псевдоніми типів, я вважаю, що ці речі є дуже суб'єктивними, коли деякі члени спільноти використовують їх більше, ніж інші.

Погляньте на наступні рекомендації:

Twitter "Ефективний посібник зі стилю Scala