Каково соглашение об именах для классов типов в Scala?

В мире Java соглашения об именах для интерфейсов довольно хорошо установлены. Например, когда вы говорите, что определенный класс реализует интерфейс Comparable , вы можете сказать, что его объекты сопоставимы. Однако соглашения об именах для классов типов не так хорошо установлены. Например, Int имеет неявный доступный Numeric , поэтому вы можете сказать: « Int является Numeric типом»). Но есть класс типов Порядок . Я не понимаю, почему было выбрано это имя. « Int - это Тип упорядочивания » не имеет никакого смысла. Возможно, это должно читаться как « Тип Int имеет упорядочение ». Затем есть Equal и Show в Scalaz. Я совершенно не понимаю, почему были выбраны эти имена (кроме того, что они используются в Haskell). Я попытался найти в Haskell, родном языке классов типов, хорошее соглашение об именах, но обнаружил, что их на самом деле не существует. Ребята из Haskell, похоже, не заботятся об именах (это то, что я понял из обсуждений в списках рассылки). Но я из мира Java меня волнуют имена. Я не совсем могу привыкнуть к парадигме «типы говорят все».

Возникает вопрос: каким соглашениям об именах вы следуете, если вообще следуете, для именования классов типов?

17
задан Jacek Laskowski 24 May 2016 в 18:51
поделиться