Monorepon rakenne ja asettelu
Opettele projektien, pakettien ja jaetun koodin järjestämisen parhaat käytännöt yhdessä Git-repositoriossa.
Monorepon rakenne ja asettelu on ilmainen Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-kurssilla on yhteensä 4 oppituntia.
Miksi rakenteella on merkitystä
Tervetuloa! Monorepositoriossa monet projektit sijaitsevat yhdessä paikassa. Selkeä ja harkittu rakenne on erittäin tärkeä, jotta kokonaisuus pysyy järjestyksessä.
Sen avulla kehittäjät löytävät tarvitsemansa nopeasti, koodia voidaan jakaa tehokkaasti ja koko koodikannan hallinta helpottuu huomattavasti sen kasvaessa.
Monorepositorion juurihakemisto
Monorepositorion ylimmällä tasolla, juurihakemistossa, sijaitsevat koko repositoriota koskevat tiedostot. Niitä voi ajatella yleisinä asetuksina.
.git/: Gitin sisäiset seurantatiedostot..gitignore: Kertoo Gitille, mitkä tiedostot ohitetaan.README.md: Monorepositorion pääkuvaus.package.json: (Jos käytössä on Node.js) Monorepositorion komentosarjat tai riippuvuudet.tools/: Yleiset aputyökalujen komentosarjat.
Projektien ryhmittely: `apps` ja `packages`
Jotta kokonaisuus pysyy siistinä, projektit ryhmitellään yleensä ylätason hakemistoihin tyypin tai käyttötarkoituksen perusteella. Yleisimmät hakemistot ovat apps/ ja packages/ (joskus myös libs/).
apps/: Käyttöönotettaville sovelluksille, kuten verkkosovelluksille, mobiilisovelluksille tai API-palveluille.packages/(tailibs/): Uudelleenkäytettäville kirjastoille, komponenteille tai jaetuille apuohjelmille, joita useat sovellukset voivat käyttää.
Tämän selkeän jaottelun ansiosta projektin roolin ymmärtää yhdellä silmäyksellä.
`apps`-hakemiston sisältö
Jokainen apps/-hakemiston alla oleva kansio edustaa erillistä, itsenäistä sovellusta. Niillä on yleensä oma lähdekoodinsa, määrityksensä ja riippuvuutensa.
monorepo/
├── apps/
│ ├── web-app/ # Your frontend application
│ │ ├── src/
│ │ └── package.json
│ ├── api-service/ # Your backend API
│ │ ├── src/
│ │ └── Dockerfile
│ └── mobile-app/ # Your mobile application
│ ├── src/
│ └── ...
└── ...Tämä rakenne pitää sovellukset erillään, vaikka ne kuuluvatkin samaan monorepositorioon.
`packages`-hakemiston (tai `libs`-hakemiston) sisältö
packages/-hakemistoon (tai libs/-hakemistoon) sijoitetaan kaikki uudelleenkäytettävä koodi. Ne ovat usein pienempiä ja tarkasti rajattuja kirjastoja tai käyttöliittymäkomponentteja, joita voidaan jakaa useiden sovellusten kesken.
monorepo/
├── packages/
│ ├── ui-components/ # Reusable UI library
│ │ ├── src/
│ │ └── package.json
│ ├── shared-utils/ # Common utility functions
│ │ └── src/
│ └── auth-lib/ # Authentication logic
│ └── src/
└── ...Tämä edistää koodin uudelleenkäyttöä ja yhdenmukaisuutta projekteissa.
Keskitetty määritys
Yhdenmukaisuuden varmistamiseksi monorepositorioissa keskitetään usein esimerkiksi lintereiden (koodityyliä varten), muotoilijoiden (koodin asettelua varten) ja koontijärjestelmien määritystiedostot.
monorepo/
├── .eslintrc.js # Linter configuration
├── prettier.config.js # Code formatter configuration
├── jest.config.js # Test runner configuration
├── tsconfig.base.json # Base TypeScript config
└── ...Nämä tiedostot sijaitsevat usein juuressa tai erillisessä config/-hakemistossa, ja niiden säännöt koskevat yhdenmukaisesti kaikkia projekteja.
Hyvän rakenteen hyödyt
Hyvin määritelty monorepositorion rakenne tarjoaa merkittäviä etuja:
- Löydettävyys: Uudet tiimin jäsenet ymmärtävät nopeasti, missä kaikki sijaitsee.
- Yhdenmukaisuus: Projektien rakenteet ja koodausstandardit pysyvät vaivattomasti yhtenäisinä.
- Ylläpidettävyys: Refaktorointi ja riippuvuuksien hallinta helpottuvat huomattavasti.
- Työkalut: Monorepositorion tuntevien koonti- ja kehitystyökalujen käyttöönotto sujuvoituu.
Se on investointi, joka maksaa itsensä takaisin pitkällä aikavälillä!
Yksinkertainen ohjelmaesimerkki
Monorepositorion rakenne liittyy tiedostojen ja kansioiden järjestämiseen, mutta tässä on yksinkertainen Java-ohjelma, joka havainnollistaa suoritettavan koodin näkymistä CoddyKitissä. Näin editorin käyttö tulee tutummaksi!
public class MonorepoConcept {
public static void main(String[] args) {
System.out.println("A well-structured monorepo is great!");
}
}Nimeämiskäytännöt
Selkeä ja yhdenmukainen nimeäminen on monorepositoriossa ratkaisevan tärkeää. Se auttaa välttämään sekaannuksia ja tekee koodikannasta helpommin luettavan.
- Kebab-case: Käyttäkää projektien ja kansioiden nimissä
kebab-case-muotoa (esim.web-app,shared-utils). - Täsmälliset nimet: Välttäkää yleisluontoisia nimiä, kuten
utils, ja käyttäkää täsmällisempiä nimiä (esim.date-utils,api-client). - Etuliitteet: Suurissa organisaatioissa kannattaa harkita jaettujen pakettien varustamista etuliitteellä (esim.
@myorg/ui-components).
Monorepositorion rakenteen tarkistus
Ajatellaan monorepositoriota, joka sisältää verkkosovelluksen, API-palvelun ja jaetun käyttöliittymäkomponenttikirjaston. Millä yleisillä ja tehokkailla tavoilla nämä projektit voidaan järjestää?
Kertaus: jäsennellyt monorepositoriot
Hienoa työtä! Tänään opimme, miksi monorepositorion jäsentäminen on tärkeää. Käsittelimme sovellusten järjestämistä apps/-hakemistoon, jaettujen kirjastojen sijoittamista packages/-hakemistoon (tai libs/-hakemistoon) sekä yleisten määritysten keskittämistä.
Hyvin määritelty rakenne tekee monorepositorion selaamisesta helpompaa, kokonaisuudesta yhdenmukaisemman ja ylläpidosta yksinkertaisempaa. Seuraavaksi tutustumme erityisiin työkaluihin, jotka auttavat hallitsemaan näitä monimutkaisia rakenteita!
Opi Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Monorepon rakenne ja asettelu” ilmainen?
Kyllä – oppitunnin ”Monorepon rakenne ja asettelu” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-kurssin, päivitä CoddyKit PROhon. Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Monorepon rakenne ja asettelu”?
Opettele projektien, pakettien ja jaetun koodin järjestämisen parhaat käytännöt yhdessä Git-repositoriossa. Harjoittelet Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Monorepon rakenne ja asettelu”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppitunnilla?
Kyllä. Jokainen Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Mikä on monorepo?
- Monorepon rakenne ja asettelu
- Monorepo-työkalujen esittely
- Monorepo vai polyrepo: lähestymistavan valinta