Почему имена классов Angular Component и Module для сущностей имеют префикс базового имени приложения? - PullRequest
0 голосов
/ 12 июня 2018

Сгенерированные имена компонентов Angular и имена модулей имеют префикс с базовым именем приложения, указанным при генерации кода с помощью JHipster, как видно из импорта Entity Module, показанного ниже для сгенерированного проекта.

В следующем примере из сгенерированного файла entity.module.ts имена модулей сущностей имеют префикс «Gohomenotes» на основе. Я указал базовое имя приложения «gohomenotes» при создании кода.

@NgModule({
imports: [
    GohomenotesPersonModule,
    GohomenotesStudentModule,
    GohomenotesHomeRoomModule,
    GohomenotesTeacherModule,
    GohomenotesSchoolModule,
    GohomenotesHostRequestModule,
    GohomenotesGuestRequestModule,
    GohomenotesEarlyPickupRequestModule,
    GohomenotesTransportationChangeRequestModule,
    GohomenotesFamilyModule,
    GohomenotesFamilyMemberModule,
    GohomenotesAddressModule,
    GohomenotesPhoneNumberModule,
    GohomenotesGoHomeNotesSettingsModule

Однако соответствующие имена файлов не включают базовое имя приложения.Это не согласуется с руководством по стилю Angular и затрудняет чтение кода IMO.

Если нет практической причины, по которой это необходимо, я бы предпочел не указывать базовое имя приложения в именах компонентов и классов модулей.Есть ли вред, если я удалю базовое имя приложения из имен модулей и классов компонентов?

1 Ответ

0 голосов
/ 03 июля 2018

Я задал этот вопрос на Gitter и получил ответ от Shaheen Georgee @ 1in9ui5t ...

Почему имена классов Angular Component и Module для сущностей имеют префикс с базовым именем приложения?

«MyAppStudentModule» Вместо того, чтобы просто «StudentModule», когда у меня есть сущность с именем «Student»?

Скорее всего, чтобы избежать потенциальных конфликтов имен с другими модулями в вашем приложении Angular.Например, предположим, что вы работали над медицинским заявлением и у вас был тестовый объект для обозначения какого-либо медицинского обследования, которое проводит ваша организация;если вы сгенерировали тестовую сущность (я знаю плохое имя), то сгенерированный test.module.ts вызовет конфликт имен, поскольку уже существует модуль с таким именем.

Я предполагаю, что здесьузнав из прошлого кода Jhipster, что есть термины из черного списка.

Связанный: Конфликт имен при импорте модуля в Angular 2 - есть ли способ предотвратить это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...