(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); Ruby on Rails einingagerð með Packwerk Episode I - The Codest
The Codest
  • Um okkur
  • Þjónusta
    • Hugbúnaðarþróun
      • Framhliðþróun
      • Bakendaþróun
    • Staff Augmentation
      • Framhliðaráþrófarar
      • Bakhliðaráþróunaraðilar
      • Gagnaverkfræðingar
      • Skýjaverkfræðingar
      • Gæðatryggingartæknimenn
      • Annað
    • Það er ráðgjafi
      • Endurskoðun og ráðgjöf
  • Iðnaðargreinar
    • Fjártæknifyrirtæki og bankastarfsemi
    • E-commerce
    • Adtech
    • Heilbrigðistækni
    • Framleiðsla
    • Flutningar
    • Bifreiða
    • Internet hlutanna
  • Gildi fyrir
    • CEO
    • CTO
    • Afhendingarstjóri
  • Teymið okkar
  • Case Studies
  • Vitið hvernig
    • Blogg
    • Fundir
    • Vefnámskeið
    • Auðlindir
Starfsferilmöguleikar Hafðu samband
  • Um okkur
  • Þjónusta
    • Hugbúnaðarþróun
      • Framhliðþróun
      • Bakendaþróun
    • Staff Augmentation
      • Framhliðaráþrófarar
      • Bakhliðaráþróunaraðilar
      • Gagnaverkfræðingar
      • Skýjaverkfræðingar
      • Gæðatryggingartæknimenn
      • Annað
    • Það er ráðgjafi
      • Endurskoðun og ráðgjöf
  • Gildi fyrir
    • CEO
    • CTO
    • Afhendingarstjóri
  • Teymið okkar
  • Case Studies
  • Vitið hvernig
    • Blogg
    • Fundir
    • Vefnámskeið
    • Auðlindir
Starfsferilmöguleikar Hafðu samband
Aftur ör Farðu aftur
2022-01-05
Hugbúnaðarþróun

Ruby on Rails módúlun með Packwerk Episode I

Nikólás Nisóría

Mönnum finnst erfitt að sjá heildarmynd vandamálsins án þess að verja miklum tíma og fyrirhöfn. Þetta gerist sérstaklega þegar unnið er með stór og flókin forrit. Hverjar eru aukaverkanir breytinga minna? Hvers vegna hefur þessi lína hér áhrif á prófin í fjarlægu hluta kóðagrunnsins? Engin fullkomin eða fullgerð lausn er til, en Shopify hefur þróað tól sem mun líklega hjálpa þér og team þínum.

Hér er tómt.

Inngangur

Til að tala um Pakkaun, við þurfum fyrst að kynna nokkur hugtök.

  • Samheldni: vísar til mælikvarða á því hversu mikið þættir í módúli eða bekk tengjast saman.
  • Parað: vísar til stigs tengsla milli eininga eða flokka.
  • Mörk: vísar til hindrana á milli kóði. Í þessu tilfelli vísar kóðamörk til mismunandi áhugasviða innan sama kóðagrunns.
  • Modúlunferlið við að skipta hugbúnaðarkerfi í marga aðskilda eininga þar sem hver eining starfar sjálfstætt.

Vandamál

Eins og við vitum, Rúbín veitir ekki góða lausn til að tryggja kóðamörk. Við getum tilgreint sýnileika en allar forsendur verða hlaðnar í alþjóðlega nafnarýmið. Í stórum eða einlita forritum veldur þessu skorti á mörkum eftirfarandi vandamálum.

  • Lágt samhengi,
  • Hár samtengingarstuðull,
  • Spagettíkóði.

Í tilraun til að móðúlísera monólítinn hjá Shopify og tryggja mörk reyndu þeir mismunandi lausnir án þess að ná þeim niðurstöðum sem búist var við:
– Að stilla einkastaðfastar,
– Að setja mörk með gimsteinum,
– Að nota prófanir til að koma í veg fyrir tengsl milli þátta,
– Með því að nota Modulation-gemy Ruby,
– Að skapa örþjónustur.

Með allri þekkingu úr fyrri tilraunum ákváðu þeir að búa til sitt eigið tæki: Pakkaun.

Pakkaun

Hvað er Packwerk?

Pakkaun er verkfæri fyrir kyrrstæða greiningu sem notað er til að tryggja mörk milli hópa af Rúbín skrár sem kallast pakkar.

Hvað er pakki?

A poki er möppu sem inniheldur sjálfhlaðinn kóða. Shopify's lið Hvetur til að beita bestu hönnunarvenjum við gerð umbúða.
– Við ættum að pakka saman hlutum sem hafa mikla virkni samheldni,

  • Pakkar ættu að vera tiltölulega lauslega tengdir hver við annan.

Gerðir markaathugana

Við getum tryggt persónuvernd og takmörk á háðni, athugað brot á þessum takmörkum og hringháðni.

Packwerk í framkvæmd

Það er engin ein tiltekinn leið til að byggja upp eða endurskipuleggja umsóknina þína við gerð pakka. Í þessari grein munum við fylgja þeirri nálgun sem er mælt með af
Stephan Hagemann í Stigvaxandi einingagerð fyrir Ruby on Relsar.

Veldu verkefnið

Þú getur búið til nýtt verkefni eða veldu eitt af verkefnum þínum. Ég ákvað að nota opinn hugbúnaðarverkefni sem kallast Kóðaflokkun. Það er mikilvægt að nefna að við þurfum Rails 6-forrit þar sem Pakkaun notar Zeitwerk.

Frumstilla Packwerk

Fyrst þurfum við að bæta gimsteininn við Gemfile-skrána okkar svona: gull 'packwerk' og hlaupa síðan pakkií konsólanum. Þá erum við tilbúin að frumstilla gem-ið sem keyrir. packwerk upphaf.

Eftir það tökum við eftir að Pakkaun bjó til þrjár skrár fyrir okkur:

  • pakkverk.yml

  • pakki.yml

  • beygingar.yml

pakkverk.yml er stillingarskrá af Pakkaun þar sem við munum skilgreina innifalin og útilokuð skrá, skrá hleðslustígana, skilgreina inflections-skrána, meðal annars;

pakki.yml er stillingarskrá pakkans. Í þessari skrá munum við bæta við stillingum fyrir mörk pakkans. Öll möppu sem inniheldur package.yml verður viðurkennd sem pakki af Pakkaun. Það er allt, Pakkaun bjó til okkar fyrsta
pakki og við köllum það rót pakki.

beygingar.yml er þar sem við munum setja sérsniðnar beygingar og skammstafanir ef við notum þær.

Þú getur fundið nánari upplýsingar um skrárnar og stillingar þeirra í
Pakkaun.

Eiginleikar verkfæris

Til þess að módúlun virki þurfum við þrjá grunn eiginleika: nefndur ílátur, þess efni, og skýr háðleiki á öðrum ílát. Svo skulum við skilgreina þessa eiginleika í Pakkaun:

  • Nafn: Nafn pakka er afstæð slóð hans frá rót
    umsókn.

  • InnihaldÞegar við setjum package.yml í möppu, verða öll skráarskrifin í möppunni nú innihald pakkans.

  • ForsendurVið getum skilgreint háðni á önnur forritapakka með því að bæta `dependencies`-lyklinum við pakki.yml.

Önnur skrá sem ekki er innifalin sjálfgefið en er mælt með er README. Mikilvægt er að veita upplýsingar um notkun pakkans.

Endir þáttar I

Ráðgjöf um þróun stafrænna vara

Lesa meira

GraphQL Ruby. Hvernig er frammistaðan?

Lestar og önnur samgöngutæki

Rails-þróun með tmux, vim, fzf og ripgrep

Tengdar greinar

Myndskreyting af heilbrigðisforriti fyrir snjallsíma með hjartatákni og hækkandi heilsufarsgrafík, merkt með The Codest-merkinu, sem táknar stafræna heilsu og HealthTech-lausnir.
Hugbúnaðarþróun

Heilbrigðis-hugbúnaður: gerðir og notkunartilvik

Tólin sem heilbrigðisstofnanir treysta á í dag líta ekkert út eins og pappírsskjöl frá fyrri áratugum. Heilbrigðisforrit styðja nú heilbrigðiskerfi, sjúklingameðferð og nútímalega heilbrigðisþjónustu á klínískum og...

THECODEST
Yfirlitsmynd sem sýnir hnignandi súlurit með uppstrekktri ör og gullmynt sem táknar kostnaðarhagkvæmni eða sparnað. The Codest-merkið birtist í efra vinstra horni með slagorðinu "In Code We Trust" á ljósgráum bakgrunni.
Hugbúnaðarþróun

Hvernig á að stækka þróunarteymið án þess að fórna gæðum vörunnar

Ertu að stækka þróunarteymið þitt? Lærðu hvernig á að vaxa án þess að fórna gæðum vörunnar. Þessi leiðarvísir fjallar um merki um að kominn sé tími til að stækka, uppbyggingu teymisins, ráðningar, forystu og verkfæri—og hvernig teymið getur...

THECODEST
Hugbúnaðarþróun

Búðu til vefumsóknir sem þola framtíðina: innsýn frá sérfræðiteymi The Codest

Uppgötvaðu hvernig The Codest skarar fram úr við að búa til stigstækar, gagnvirkar vefumsóknir með nýjustu tækni, sem bjóða upp á hnökralausa notendaupplifun á öllum kerfum. Lærðu hvernig sérfræðiþekking okkar knýr fram stafræna umbreytingu og viðskipti...

THECODEST
Hugbúnaðarþróun

Topp 10 hugbúnaðarþróunarfyrirtæki í Lettlandi

Kynntu þér fremstu hugbúnaðarþróunarfyrirtæki Lettlands og nýstárlegar lausnir þeirra í nýjustu grein okkar. Uppgötvaðu hvernig þessir tækniforingjar geta hjálpað til við að efla fyrirtækið þitt.

thecodest
Lausnir fyrir fyrirtæki og vaxtarfyrirtæki

Grunnatriði í Java hugbúnaðarþróun: Leiðarvísir að árangursríkri útvistun

Kannaðu þessa ómissandi leiðbeiningu um árangursríka outsourcing Java hugbúnaðarþróun til að auka skilvirkni, afla aðgangs að sérfræðiþekkingu og tryggja árangur verkefna með The Codest.

thecodest

Gerðu þig áskrifanda að þekkingargrunni okkar og vertu upplýstur um sérfræðiþekkingu upplýsingatæknigeirans.

    Um okkur

    The Codest – Alþjóðlegt hugbúnaðarþróunarfyrirtæki með tæknimiðstöðvar í Póllandi.

    Bretland - Höfuðstöðvar

    • Skrifstofa 303B, 182-184 High Street North E6 2JA
      Lundúnir, England

    Pólland - staðbundin tæknimiðstöðvar

    • Fabryczna skrifstofugarður, Aleja
      Herbergi 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varsjá, Pólland

    The Codest

    • Heim
    • Um okkur
    • Þjónusta
    • Case Studies
    • Vitið hvernig
    • Starfsferilmöguleikar
    • Orðabók

    Þjónusta

    • Það er ráðgjafi
    • Hugbúnaðarþróun
    • Bakendaþróun
    • Framhliðþróun
    • Staff Augmentation
    • Bakhliðaráþróunaraðilar
    • Skýjaverkfræðingar
    • Gagnaverkfræðingar
    • Annað
    • Gæðatryggingartæknimenn

    Auðlindir

    • Staðreyndir og goðsagnir um samstarf við utanaðkomandi hugbúnaðarþróunaraðila
    • Frá Bandaríkjunum til Evrópu: Af hverju ákveða bandarísk sprotafyrirtæki að flytja til Evrópu?
    • Samanburður á tæknifjarkerfisþróunarmiðstöðvum: Tech Offshore Europe (Pólland), ASEAN (Filippseyjar), Eurasia (Tyrkland)
    • Hvert eru helstu áskoranir CTO-a og CIO-a?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Höfundarréttur © 2026 af The Codest. Öll réttindi áskilin.

    is_ISIcelandic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lvLatvian lt_LTLithuanian is_ISIcelandic