Erekana HN: Rev-dep - 20x byihuse knip.dev ubundi kubaka muri Go | Mewayz Blog Skip to main content
Hacker News

Erekana HN: Rev-dep - 20x byihuse knip.dev ubundi kubaka muri Go

Ibitekerezo

8 min read Via github.com

Mewayz Team

Editorial Team

Hacker News

Umusoro uhishe kuri buri kipe ikura ya software

Buri mushinga wa software ubaho igihe kirekire bihagije amaherezo uhura nikibazo kimwe gituje: codebase itangira gukura vuba kurenza itsinda rishobora kubyumva. Imikorere ntamuntu uhamagara, ibyoherezwa hanze byakozwe kubintu byoherejwe muri 2022 hanyuma bigasuzugura bucece, ibice bibaho kuri disiki ariko ntibigera bigera kuri mushakisha. Ibi ntabwo ari ubunebwe - ni physics. Amakipe agenda yihuta, ibisabwa birahinduka, kandi entropy ntizihoraho. Ikibazo ntabwo ari ukumenya niba codebase yawe ifite code yapfuye. Ikibazo nukuntu bigutwara nonaha.

Dukurikije ubushakashatsi bwakozwe nitsinda rya Google ritanga umusaruro wubwubatsi, abashinzwe iterambere bakoresha impuzandengo ya 42% yigihe cyabo cyo kwandika gusoma no gusobanukirwa kode iriho aho kwandika imikorere mishya. Iyo iyo code iriho irimo imirongo ibihumbi itagikora intego iyo ari yo yose, iyo ijanisha rirenga ndetse rirenze. Kubwitsinda ryaba injeniyeri icumi, burya abakozi bane b'igihe cyose ntacyo bakora gitanga umusaruro - atari ukubera ko ari abanebwe, ariko kuberako ibikoresho byabo bitajyana numuvuduko iyo software ishaje.

Iyi niyo mpamvu umurongo mushya wibikoresho byabateza imbere byubatswe ku ndimi za sisitemu nka Go na Rust bitanga umunezero nyawo mu ruziga. Ibikoresho nka Rev. Berekana uburyo bwibanze bwo gutekereza kuburyo dukoresha inzira yiterambere ubwayo.

Niki Isesengura Rishingiye ku Isesengura Rikora Mubyukuri

Mbere yo gusobanukirwa impamvu umuvuduko ufite akamaro kanini, bifasha kumva icyo ibikoresho byo gusesengura biterwa nukuri bikora. Mu mushinga wa JavaScript cyangwa TypeScript, buri dosiye itumizwa mu zindi dosiye. Igikorwa cyose, icyiciro, cyangwa gihoraho cyoherezwa muri module gitanga ubushobozi bushoboka - ikintu ibindi bice bya codebase bishobora gushingiraho. "Isubiramo" isesengura ryishingikirizaho rihindura iyi myumvire: aho kubaza "iyi module iterwa niki," irabaza "biterwa niki cyiciro?"

Niba igisubizo cyicyo kibazo cya kabiri ari "ntacyo," wabonye code yapfuye. Kwohereza hanze ko ntacyo bitumiza mu mahanga ari imyanda. Igikorwa ntacyo bita ni umwenda wa tekiniki hamwe ninyungu ya buri kwezi. Hindura ibikoresho byishingikiriza kuri gahunda yumushinga wose, shushanya isano yose iri hagati ya module, kandi hejuru yumutwe udafite aho uhurira. Igisubizo nubugenzuzi bwuzuye mubintu byose muri codebase yawe ishobora gukurwaho neza.

Knip.dev ibikora neza kubikorwa bya JavaScript na TypeScript, kandi byubahwa cyane mubaturage. Ariko byanditswe muri JavaScript, bivuze ko ikorera kuri Node.js, bivuze ko iragwa inzitizi zose za Node zifite umurongo umwe wimikorere mugihe ukora dosiye nini ya sisitemu nini yo gusesengura no gusesengura ibimenyetso. Ku mushinga ufite dosiye 500, nibyiza. Ku mushinga ufite amadosiye 50.000 - ubwoko bwa monorepo iha imbaraga ibicuruzwa bya SaaS nyabyo - isesengura rishobora gufata iminota. Kandi iminota, kuri cadence imiyoboro igezweho ya CI / CD ikorera kuri, ni umucuruzi.

Kuki Genda Guhindura Kubara

Genda yateguwe kuva hasi hejuru yubwoko bwimirimo isabwa gushingira kubisabwa: dosiye yihuse I / O, primaire nziza cyane, hamwe nigihe gito cyo hejuru. Aho Node.js itunganya igikorwa kimwe icyarimwe kumurongo umwe kandi igashingira kumuhamagaro kandi igasezeranya guhuza ibihimbano, Go irashobora kubyara ingagi ibihumbi n'ibihumbi zikora muburyo bubangikanye nibintu byose biboneka muri CPU. Kubikorwa birimo gusoma amajana yama dosiye, kugereranya AST zabo, no kubaka igishushanyo cyimibanire yikimenyetso, iri tandukaniro ryubwubatsi risobanurwa neza mubikorwa byurukuta-isaha.

Umuvuduko wa 20x wasabwe na Rev-dep ntabwo ari amarozi - niko bigenda iyo uhuje imvugo iboneye nikibazo gikwiye. Go yakusanyije imiterere nayo isobanura ko nta gihano cyo gushyushya JIT. Kuva imbeho itangiye kugeza isesengura ryuzuye, Go binary ikora hafi yimikorere. Inshingano ifatika nuko isesengura ryatwaye amasegonda 90 mugikoresho gishingiye kuri Node gishobora kurangira munsi yamasegonda 5 mugihe gishyizwe mubikorwa Go bihwanye. Ngiyo itandukaniro riri hagati ya cheque abaterankunga basimbuka kuko "bisaba ubuziraherezo" nimwe ikora kuri buri cyemezo ntawe ubonye hejuru.

"p

Urubanza rwubucuruzi kuri Codebase Isuku

Kode yapfuye ntabwo arikibazo cyiterambere gusa - gifite ingaruka zifatika zubucuruzi zuzuzanya mugihe. Reba icyo codebase yabyimbye igura amashyirahamwe:

  • Igihe kirekire cyo kubaka kigabanya umuvuduko wo kohereza no kugabanya umubare wo gusohora ikipe ishobora kohereza neza buri cyumweru
      • Kwagura ubuso bwumutekano - kode yapfuye iracyarimo kwishingikiriza iracyari indorerezi zintege nke murizo paki
        • Ibimenyetso bigoye bigoye bifata ibyemezo byubwubatsi bigoye kuko ntibisobanutse icyikorera imitwaro nibiki byemewe

        Ubushakashatsi bwakozwe na 2023 bwakozwe nitsinda rya DevOps Ubushakashatsi nisuzuma (DORA) bwerekanye ko amakipe afite imikorere yubuziranenge bwa code - harimo no gukuraho kode isanzwe yapfuye - yoherejwe 2.4x inshuro nyinshi kandi ifite 7x igipimo cyo kunanirwa guhinduka kurusha amakipe areka umwenda wa tekiniki. Isano ntabwo ari impanuka. Isuku ya codebase iroroshye kubitekerezaho, byoroshye kugerageza, kandi byoroshye guhinduka neza.

        > Iyo urubuga rwawe ruzengurutse domaine nyinshi zikora, ubuso bwo guhuza hagati ya module ni nini. Kwohereza ibicuruzwa bidakoreshejwe muburyo bwibanze birashobora gukora ibiteganijwe kubi modul zishingiye, bigatera kongera-bitari ngombwa kongera kwerekana murwego rwa UI, kandi bigora igishushanyo mbonera bitewe nuburyo butuma impinduka zizaza zishobora guteza akaga.

        Kwinjiza Isesengura Ryishingiye Mubikorwa Byiterambere Bigezweho Ibikorwa

        Imbaraga nyazo zo gukoresha ibikoresho byihuse nka Rev-dep ntabwo isuku rimwe ishoboza - ni ubushobozi bwo gukora isesengura rihoraho nkigice cyiterambere cyawe gisanzwe. Iyo kode ipfuye scan ifata amasegonda 4 aho kuba iminota 4, urashobora kuyongera kubyo wabanje gukora. Iyo bifata amasegonda 4 aho kuba iminota 4, umuyoboro wawe wa CI urashobora kunanirwa gusaba gukurura utangiza ibicuruzwa bishya bidakoreshwa aho kubireka ngo birundane bucece.

        💡 DID YOU KNOW?

        Mewayz replaces 8+ business tools in one platform

        CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

        Start Free →

        Ihinduka kuva "igihembwe cyogusukura" kugeza "irembo ryiza rihoraho" birasa nibyabaye mugihe umurongo wihuse bihagije kugirango ukore kuri buri kanda muri IDE. Mbere yuko ESLint ikora mugihe nyacyo, kode yuburyo bwashyizwe mubikorwa nibisubirwamo byigihe. Nyuma, byaje kuba ibidukikije - igice cyibisubizo byabashinzwe gukora ubunararibonye mugihe bandika code, ntabwo nyuma. Isesengura ryihuse rishobora gukora igitutu kimwe cyibidukikije byuzuza kode yapfuye.

        Gushiraho uru rugendo rwakazi mubisanzwe birimo ibice bitatu:

        1. Isesengura ryibanze : Koresha igikoresho kirwanya codebase yawe kugirango wumve igipimo cya code yapfuye. Ntugerageze gukosora icyarimwe - triage ukoresheje module hanyuma ushire imbere ibyago.
        2. CI ikora

        Niki Genda Igikoresho cyo Kuvugurura Ibimenyetso Kububaka SaaS

        Rev. Biome yasimbuye ESLint na Prettier mumakipe menshi. Turbopack na Rspack barimo kurya Webpack ya sasita. Bun irwanya Node.js ubwayo. Urudodo rusanzwe ni uko ibyo bikoresho bidatanga gusa iterambere ryiyongera - bitanga intambwe-yimikorere yo kunoza ihindura ibyingenzi.

        Kubisosiyete ya SaaS yubaka ibintu bigoye, ibicuruzwa byinshi-module, ubu buryo bushya bwibikoresho bifite ingaruka zitaziguye kumuvuduko wubwubatsi. Ubwubatsi bwa Mewayz 207-module - ikubiyemo ibintu byose uhereye kuri HR no guhembwa kugeza kuri sisitemu zo kubika hamwe na analytike yerekana - byerekana neza ubwoko bunini bwa codebase, aho isesengura ryihuse ryihuse rikorwa mubikorwa. Iyo impinduka zasangiwe module yingirakamaro zishobora kuzenguruka muburyo butandukanye bwo kwerekana ibintu, kugira hafi-ako kanya kugaragara mubishushanyo nyabyo biterwa ntabwo byoroshye - ni ibikorwa remezo birinda ibicuruzwa bihenze.

        Ubushobozi bwo gusubiza "mubyukuri ikoresha iyi mikorere" mumasegonda atanu aho kuba iminota itanu ihindura uburyo abajenjeri bafata ibyemezo. Igabanya ikiguzi cyiperereza, bivuze ko injeniyeri akora iperereza kenshi, bivuze ko bafata ibyemezo byiza. Nibisubizo byunguka kubushoramari mubikoresho byihuse bikunze kwirengagizwa mugihe amashyirahamwe atekereza kumikoreshereze yabatanga umusaruro.

        Gukora Kode Yapfuye Kurandura Igice cyumuco wawe wubuhanga

        Ikoranabuhanga ryonyine ntabwo ryubaka codebase isukuye - umuco urakora. Ibikoresho nka Rev-dep bitanga ubushobozi, ariko guhindura ubwo bushobozi mubikorwa bihoraho bisaba ubwitange bwumuteguro. Amakipe akomeye cyane afata ibipimo byipimishije nkuko bafata ibizamini: nkikimenyetso kigaragara, gikurikiranwa cyubuzima bwa codebase gisubirwamo mumanama yubuhanga kandi kigashyirwa mubikorwa byo gusiganwa.

        Bimwe mubikorwa byihariye byumuco bikora neza harimo kwerekana "iminsi yo gusiba kode" - ibihe byigihe aho intego igaragara ari ugukuraho code aho kuyongeraho. Netlify izwi cyane gukina ibi ukoresheje abayobozi bayobora gukurikirana net net yasibwe. Stripe yanditse kumugaragaro kubyerekeye imyitozo yo gufata gusiba kode nkumusanzu wambere wubwubatsi, bingana agaciro kumurimo. Guhindura imitekerereze isabwa ni ukumenya ko code nziza ari code itabaho: umurongo wose utanditse ni umurongo utagomba gukomeza, kugerageza, kugerageza, cyangwa gusobanurira umushahara mushya .

        Ku masosiyete y'ibicuruzwa acunga ibikorwa byubucuruzi bigoye, ibangikanye hanze yubuhanga birigisha kimwe. Indero imwe ituma codebase igira ubuzima bwiza - ubugenzuzi busanzwe, nyirubwite busobanutse, kurandura ibintu ntamuntu ukoresha - bituma ibikorwa byubucuruzi nabyo bigira ubuzima bwiza. Ihuriro nka Mewayz ryubatswe neza kugirango ritange ubucuruzi bwubwoko busobanutse bwibikorwa: icyerekezo kimwe cyerekana ibikoresho bikoreshwa, ibikorwa byakazi bitanga agaciro, kandi aho ibiro byapfuye byishyize hamwe. Waba uri kugenzura software idakoreshwa hanze cyangwa ibikorwa byubucuruzi bidakoreshwa, disipuline yibanze irasa.

        Ibikoresho biragenda byihuta, ibisubizo byatanzwe bigenda byiyongera, kandi amakipe ashora imari mubikorwa remezo byisuku ya codebase uyumunsi arubaka inyungu zuzuzanya zizishyura inyungu kumyaka. Rev. Kandi mw'isi aho umuvuduko wa itera niwo mwanya wambere wo guhatanira ubucuruzi bwa software, ibyo ntabwo ari impungenge. Numukino wose.

        Ibibazo bikunze kubazwa

        Niki gituma Rev-dep yihuta kuruta knip.dev?

        Rev. Itandukaniro ryubwubatsi ryemerera Rev-dep gusesengura ibishushanyo biterwa no kumenya code yapfuye kugeza 20x byihuse. Kuri monorepos nini cyangwa codebase igoye - nkubwubatsi bwa 207-module yububiko bukoresha OS yubucuruzi ya Mewayz kuri app.mewayz.com - icyo cyuho cyimikorere gihinduka mugihe nyacyo cyabitswe kuri buri CI ikora.

        Ni kangahe kode yapfuye isanzwe ikura?

        Ubushakashatsi hamwe na anecdotal raporo zitsinda ryubwubatsi zerekana ko codebase ikuze ishobora gutwara ahantu hose kuva 10% kugeza 35% kode idakoreshwa cyangwa itagerwaho. Ikibazo cyiyongera nkuko amakipe apima - ibiranga bigenda biteshwa agaciro, APIs zirahinduka, kandi modules ziratereranwa nta suku. Amahuriro nka Mewayz, ahuza module zirenga 207 muri sisitemu imwe ikora $ 19 / mo, yishingikiriza cyane kuri kodegisi yapfuye kugirango itume codebase idakomeza kandi ikomeze.

        Rev-dep irakwiriye mumakipe adakoresha JavaScript cyangwa TypeScript?

        Rev-dep yibanze kuri JavaScript na TypeScript ecosystems, bituma iba inzira itaziguye kuri knip.dev kubyo bidukikije. Inkunga yindimi zinyongera irashobora kwaguka uko umushinga ukuze. Niba itsinda ryanyu ryubatse ibicuruzwa bishingiye kumurongo cyangwa ibikoresho bya SaaS - bisa nuburyo Mewayz atanga OS yubucuruzi yuzuye kuri app.mewayz.com - kandi stack yawe ni JS / TS-iremereye, Rev-dep ikwiye gusuzumwa nkigice cyibikoresho byabateza imbere uyumunsi.

        Nshobora kwinjiza Rev-dep mumiyoboro isanzwe ya CI / CD?

        Yego. Rev. Umuvuduko wacyo ufite agaciro cyane cyane mumiyoboro yikora aho ibitekerezo byihuse byihuta bigabanya igihe cyo gutegereza. Waba urimo utangira neza cyangwa ucunga urubuga rwuzuye nka Mewayz ya $ 19 / mo yubucuruzi ya OS, guhuza isesengura ryimyandikire yapfuye mumiyoboro yawe bifasha kubahiriza isuku ya codebase kuri buri guhuza.

        {"@ imiterere": "https: \ / \ / schema.org", "@ ubwoko": "Ibibazo", "mainEntity": knip.dev?","acceptedAnswer":a> 207-module yububiko iha imbaraga ubucuruzi bwa Mewayz OS kuri app.mewayz.com \ u2014 ko ikinyuranyo cyimikorere "}}, {" @ ubwoko ":" Ikibazo "," izina ":" Umushinga usanzwe ukura utegeranya kangahe? "," Wemerewe Igisubizo ": {" @ ubwoko ":" Igisubizo "," inyandiko ": Ikibazo cyiyongereye uko amakipi yapimye \ u2014 aragenda ateshwa agaciro, API zirahinduka, kandi modules ziratereranwa nta isuku nka Platforms nka Mewayz, ihuza modul zubucuruzi zirenga 207 muri sisitemu imwe ikora $ 19 \ / mo, yishingikiriza cyane kuri sisitemu "}}, {" @ ubwoko ":" Ikibazo ", cyangwa izina ridakoresha JavaScript. TypeScript? "," Yemerewe Igisubizo ": {" @ ubwoko ":" Igisubizo "," inyandiko ":" Muri iki gihe Rev-dep yibanze kuri ecosystem ya JavaScript na TypeScript, bituma iba inzira itaziguye kuri knip.dev kuri ibyo bidukikije Inkunga y'indimi zinyongera irashobora kwaguka uko umushinga wawe ukuze \ ibikoresho bya SaaS. ni JS \ / TS-iremereye, Rev-dep ikwiriye gusuzuma "}}, {" @ ubwoko ":" Ikibazo "," izina ":" Nshobora kwinjiza Rev-dep mu muyoboro wanjye uriho CI? / CD? "," Igisubizo ": cyane cyane mubyuma byikora aho ibitekerezo byihuta bigabanya ibihe byo gutegereza byabateza imbere. Waba urimo utangira ubunebwe cyangwa ucunga urubuga rwuzuye nka OS ya $ 19 \ / mo ubucuruzi bwa Mewayz, ugahuza co "}}]}

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 6,207+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 6,207+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime