Это не соглашение Flutter или Dart - по крайней мере, не официальное: официальное соглашение об именах Dart в документе (по состоянию на октябрь 2020 г.) не упоминается использование $
в именах идентификаторов.
Однако я знаю, что экосистемы других языков программирования действительно используют знак доллара (Sigil), и я думаю, что эта привычка унаследована авторами базы данных floor
, с которой вы связались. В частности, в Java обычным явлением является использование $
для имен типов, сгенерированных инструментами, а не написанных вручную (например, типов сущностей ORM), и люди, использующие наблюдаемые объекты RxJS в JavaScript, будут использовать $
в качестве суффикса имени переменной.
Поскольку $FloorDatabase
- это имя типа, а не имя переменной или члена, я буду исходить из предположения, что это привычка, взятая из Java:
Java: символ $
следует использовать только в механически сгенерированном исходном коде или, в редких случаях, для доступа к уже существующим именам в устаревших системах.
Итак, в этом случае подсказка находится в документации, на которую вы ссылаетесь:
Используйте сгенерированный код. Для получения экземпляра базы данных используйте сгенерированный класс $FloorAppDatabase
, который предоставляет доступ к построителю базы данных.
Итак, мой вывод: это не официальное соглашение об именах в Dart / Flutter, но оно есть в Java, и похоже, что авторы floor
перенесли его из Java.
(Мне лично хотелось бы, чтобы они этого не делали, поскольку это не особо полезный индикатор - какое значение для приложения-потребителя, если тип был создан как инструмент, а не написан вручную?)
person
Dai
schedule
04.10.2020
$
в официальных соглашениях об именах Dart не упоминается, поэтому я предполагаю, что спросите человека, который первым написал код. - person Dai   schedule 04.10.2020