Code Styles And Best Practices

1 ΠŸΡ€ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ

Бпросил Π² Ρ‡Π°Ρ‚Π΅ Angular Ru:

"Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь, подскаТитС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉΒ» (Ρ‚ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΈ срСдних Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²) структуры ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° angular (ΠΌΠΎΠΆΠ΅Ρ‚ смоТСтС ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ style guide, принятой Π² вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ). Π― придСрТивался ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ:"

src/
    app/
        core/
            services…
        module1/
            component1/
            component2/
        module2/
        …
    main.ts
angular.json

Π½ΠΎ столкнулся с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ понадобились ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ части ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΈ просто стал ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ ΡƒΠΆΠ΅ Ρ‡Ρ‚ΠΎ Π³Π΄Π΅ (Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… отрисовывал Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ области ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅)

НСдавно наткнулся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру:

src/
    app/
        core/
            components/
            configs/
            interceptors/
            logger/
            services/
            core.module.ts
        modules/
            globalmodule1/
            globalmodule2/
        share/
            components/
            helpers/
            services/
            …
            share.module.ts
        app.module.ts
        …
    main.ts
angular.json

Ρ‚.Π΅ ΠΎΠ½ΠΈ создали ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для ΠΊΠΎΡ€Π° ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΈ модулях, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ засунули Π² modules.

Выглядит Π²Ρ€ΠΎΠ΄Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ это Ρ‚ΠΎΠΆΠ΅ Π½Π΅ спасаСт Π΅Ρ‰Π΅ ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, хочСтся ΠΊΠ°ΠΊΡƒΡŽ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡŽ ΠΎΡ‚ ΠΏΡ€ΠΎΡ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²)

ΠžΡ‚Π²Π΅Ρ‚

2 Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Core ΠΈ Shared

Core β€” ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, сСрвисы ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·

Shared β€” ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСсколько Ρ€Π°Π· Π² Ρ€Π°Π·Π½Ρ‹Ρ… модулях, сСрвисах ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…

Если Π΅ΡΡ‚ΡŒ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… прилоТСниях, Π½Π΅ добавляйтС Π΅Π³ΠΎ Π² Shared β€” ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ создании Angular Library.

Last updated