По каким правилам в Dart именуются классы?

«По каким правилам в Dart именуются классы?» — вопрос из категории Dart Core, который задают на 29% собеседований Flutter Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Dart для именования классов, типов, миксинов и анноций используется стиль UpperCamelCase (также известный как PascalCase). Каждое слово в названии начинается с заглавной буквы, включая первое, и разделители не используются.

Основные правила и примеры:

// Классы и абстрактные классы
class PaymentService {}
abstract class DataRepository {}

// Миксины
mixin AnimationMixin {}

// Типы-перечисления (enum)
enum AuthStatus { authenticated, unauthenticated, loading }

// Типизированные классы (дженерики)
class Response<T> {}
class Either<L, R> {}

// Аннотации
class Injectable {}
const factory = Injectable();

Особый случай — приватные классы: Имена приватных классов (видимых только в пределах своей библиотеки) также следуют UpperCamelCase, но начинаются с символа нижнего подчёркивания _.

class _InternalCache {
  // Этот класс не виден за пределами этого файла
}

Следование этим соглашениям, описанным в официальном Dart Style Guide, обеспечивает консистентность кода в проектах и упрощает чтение.