Hacker News

Whakaatuhia te HN: Rev-dep – 20x tere ake te hanga knip.dev i roto i te Haere

Nga korero

18 min read Via github.com

Mewayz Team

Editorial Team

Hacker News

Te Taake Huna mo ia Roopu Pūmanawa Tipu

Ko nga kaupapa rorohiko e ora ana mo te wa roa ka pa ki taua raruraru ata noho: ka tere tere te tipu o te turanga waehere i te mohiotanga o te roopu. Ko nga mahi karekau he tangata e waea ana, ko nga kaweake i hangaia mo tetahi ahuatanga i tukuna i te tau 2022 ka mutu kua whakakorea marietia, nga waahanga e noho ana i runga i te kōpae engari kaore e tae ki te tirotiro. Ehara tenei i te mangere - he ahupūngao. Ka tere haere nga roopu, ka huri nga whakaritenga, ka mutu te entropy. Ko te patai ehara i te mea he waehere mate to turanga waehere. Ko te patai he pehea te utu i a koe inaianei.

E ai ki nga rangahau mai i te roopu hua miihini a Google, ka whakapaua e nga kaiwhakawhanake te toharite 42% o to ratou wa whakawaeherete panui me te mohio ki nga waehere o naianei, kaua ki te tuhi mahi hou. I te wa kei roto i taua waehere o naianei nga mano o nga raina karekau he kaupapa, ka piki ake te paheketanga. Mo te roopu o nga miihini kotahi tekau, e wha nga kaimahi wa-katoa e kore e whai hua — ehara i te mea he mangere ratou, engari na te mea kare a ratou taputapu i te eke ki te tere o te tau o te rorohiko.

Koinei te take he ngaru hou o nga taputapu kaiwhakawhanake i hangaia i runga i nga reo punaha penei i a Go me Rust e whakaputa tino hikaka i roto i nga porowhita miihini. Ko nga taputapu penei i a Rev-dep — he kaitirotiro whakawhirinaki whakamuri e kii ana ka rere 20x tere akei te knip.dev rongonui-a-JavaScript — he tohu nui ake i te whakapainga pikinga noa. Ka tohuhia e ratou he whakaaro hou mo ta tatou mahi i te tukanga whanaketanga ake.

He aha te Taatari Whakataarotanga Whakamuri Tika

I mua i te mohio he aha te mea nui o te tere, ka awhina i te maarama he aha nga taputapu tātari whakawhirinaki e mahi ana. I roto i te kaupapa JavaScript, TypeScript ranei, ka kawemai ia konae mai i etahi atu konae. Ko nga mahi katoa, karaehe, nga wa katoa ka kaweake mai i tetahi kōwae ka waihanga i te ti'aturi - he mea ka whakawhirinakihia e etahi atu waahanga o te turanga waehere. Ko te tātaritanga whakawhirinaki "whakamuri" ka huri i tenei tirohanga: hei utu mo te patai "he aha te whakawhirinaki o tenei kōwae," ka patai "he aha te whakawhirinaki ki tenei waahanga?"

Mena ko te whakautu ki tera patai tuarua "karekau," kua kitea e koe he waehere mate. He moumou te kaweake kaore he mea kawemai. Ko tetahi mahi e kore e kiia ko te nama hangarau me te reiti huamoni ia marama. Ko nga taputapu whakawhirinaki whakamuri ka haere nahanaha i to kauwhata kaupapa katoa, maherehia nga hononga katoa i waenga i nga waahanga, me te whakaatu i nga pona kaore he hononga whakauru. Ko te hua ko te arotake tika o nga mea katoa kei roto i to turanga waehere ka taea te tango haumaru.

He pai tenei mahi a Knip.dev mo nga kaupapa JavaScript me TypeScript, a he mea whakanuia e te hapori. Engari kua tuhia ki te JavaScript, ko te tikanga kei te rere i runga i te Node.js, ko te tikanga ka riro i a ia nga herenga mahi miro-kotahi a Node i te wa e mahi ana i te whakawhiti i te punaha konae nui me te tātari tohu. Mo te kaupapa me nga konae 500, he pai tenei. Mo te kaupapa me nga konae 50,000 - te momo monorepo e kaha ana nga hua hinonga SaaS - ka taea e te tātari te tango meneti. A ko nga meneti, i te tere o nga paipa paipa CI/CD hou e mahi ana, he kaipahua.

He aha a Haere ka Hurihia te Tatautanga

I hoahoatia a Go mai i te whenua ki runga mo te ahua o te taumahatanga mahi e hiahiatia ana e te tātaritanga whakawhirinakitanga: I/O tere te konae, te pai o nga mahi o mua, me te iti o te wa whakahaere. Ki te mahi a Node.js i tetahi mahi i te wa kotahi i runga i te miro kotahi, ka whakawhirinaki ki nga waea whakahoki me te oati ki te whakarara rūpahu, ka taea e Go te whakaputa i nga mano tini o nga goroutine e tino mahi whakarara ana puta noa i nga matua CPU katoa e waatea ana. Mo tetahi mahi e pa ana ki te panui i nga rau o nga konae, te whakamaarama i o raatau AST, me te hanga kauwhata o nga hononga tohu, ka huri tika tenei rereketanga o te hoahoanga ki te mahi karaka pakitara.

Ko te tere 20x e kii ana a Rev-dep ehara i te makutu — he aha te mea ka taurite koe i te reo tika ki te raru tika. Ko te tikanga whakahiato a Go karekau he whiu whakamahana JIT. Mai i te timatanga makariri ki te whakaoti i te tātaritanga, kei te mahi a Go-rua i nga mahi tata-nui. Ko te tikanga o te mahi ko te tātari i 90 hēkona i roto i te taputapu Node-based ka taea te whakaoti i raro i te 5 hēkona i roto i te riterite o te Go. Koina te rereketanga i waenga i te haki ka kapea e nga kaiwhakawhanake na te mea "ka mau tonu" me tetahi ka haere i runga i nga mahi katoa me te kore e mohio tetahi ki runga.

"Ko te taputapu kaiwhakawhanake pai rawa atu ko tetahi e kore e taea. Mena ka taapirihia e to huinga tātaritanga kia toru meneti ki ia paipa CI, ka kitea e nga kaiwhakawhanake nga huarahi ki te peke atu. Ehara te tere i te mea pai ki te whai - koinei te tikanga mo te whakatamarikitanga."

Te Take Pakihi mo Codebase Hygiene

Ko te waehere mate ehara i te mea he raruraru rerehua kaiwhakawhanake - he huanga pakihi raima ka whakakotahi i te waa. Whakaarohia he aha te utu mo nga whakahaere mo nga turanga waehere kua pupuhi:

  • He roa ake nga wa hanga e whakaroa ana i nga paipa tukunga me te whakaiti i te maha o nga tukunga ka taea e te roopu te tuku haumaru i ia wiki
  • Ka nui ake te utaina hinengaromo nga miihini whakauru, me whakapau wiki ki te wehewehe i nga tauira kaha mai i nga tauira kua whakarerea
  • Kua nui ake te rahi o te paihere ka whakararu i te mahinga o te tono, ina koa i roto i nga taupānga tukutuku e pa ana ki ia kiropaita nga wa uta me nga reiti tahuri
  • Rahatanga mata haumarutanga — he waehere mate kei roto tonu nga whakawhirinakitanga he vector mo nga whakaraeraetanga kei roto i aua kete
  • Kei te pupuhi te huinga whakamatautau kei te haere tonu nga whakamatautau mo nga mahi kua tangohia, ka pau nga meneti CI, ka taka i etahi wa i roto i nga huarahi rangirua
  • Nga tohu matatini tekae uaua ake ai nga whakatau hoahoanga na te mea kaore i te maarama he aha te kawe kawenga me te aha te mea ngaro

He rangahau i te tau 2023 a te roopu DevOps Research and Assessment (DORA) i kitea ko nga roopu e kaha ana nga mahi kounga waehere — tae atu ki te tango i nga waehere mate i nga wa katoa — ka tukuna2.4x nui akea he7x iti ake nga reiti koretake o te whakarereketangai nga kapa e tuku ana i nga nama hangarau ki te kohikohi. Ehara te hononga i te mea noa. He ngawari ake te whakaaro mo nga turanga waehere ma, he maamaa te whakamatautau, he maamaa te whakarereke ma te haumaru.

Mo nga pakihi e hanga ana i runga i nga papaapapa penei i a Mewayz — e kaha ana ki te 138,000 nga kaiwhakamahi puta noa i te 207 nga waahanga pakihi motuhake mai i te CRM me te utu utu ki te whakahaere waka me nga taputapu hono-i-koiora — kua nui haere te hauora codebase. Ina horahia e to papaahi nga waahi mahi maha, he nui te mata whakaurunga i waenga i nga waahanga. Ko nga kaweake kore i whakamahia i roto i tetahi kōwae matua ka taea te hanga tumanako teka mo nga waahanga whakawhirinaki, ka puta te whakahokinga koretake i roto i te paparanga UI, ka whakararu i te kauwhata ti'aturi i roto i nga huarahi e raru ai nga huringa a meake nei.

Ko te Whakakotahi i te Taatari Whakawhirinaki ki nga Reremahi Whanaketanga Hou

Ko te tino kaha o te taputapu tere penei i a Rev-dep ehara i te horoi kotahi te wa e taea ai e ia — ko te kaha ki te whakahaere i nga tātaritanga tonu hei waahanga o to huringa whanaketanga noa. Ina 4 hēkona te roa o te karapa waehere mate, kaua e 4 meneti, ka taea e koe te taapiri atu ki o matau i mua i te tuku. Ina 4 hēkona kaua e 4 meneti, ka taea e to waea paipa CI te kore i te tono kume e whakaatu ana i nga kaweake hou kaore i whakamahia, kaua ki te tuku wahangu.

💡 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 →

Ko tenei nekehanga mai i te "takahanga horoi hauwha" ki te "kuwaha kounga tonu" he rite ki nga mea i tupu i te tere tere o nga raina ki te rere i runga i ia patene i roto i te IDE. I mua i te rere a ESLint i roto i te waa-a-waa, i whakamanahia te momo waehere e nga arotake waehere ia wa. I muri mai, ka noho ambient - he waahanga o nga kaiwhakawhanake urupare urupare i te wa e tuhi ana i te waehere, kaore i muri. Ka taea e te tātaritanga whakawhirinaki tere te hanga i te pehanga o te kounga o te taiao huri noa i te waehere mate.

Ko te whakarite i tenei rerengamahi e toru nga waahanga:

  1. Tātaritanga taketake: Whakahaerehia te taputapu ki to turanga waehere o naianei kia mohio ai koe ki te tauine o te waehere kua mate. Kaua e ngana ki te whakatika i nga mea katoa i te wa kotahi — whakamatau ma te kōwae me te kaupapa matua ma te tupono.
  2. Te whakakaha CI: Tāpirihia te tātaritanga ki tō pipeline me te paepae — kare i runga i nga kaweake hou kare i whakamahia, engari kaua e taka ki nga mea o mua kia horoia ra ano e koe.
  3. Nga sprints horoi kua whakaritea: Whakamahia te putanga o te taputapu hei arahi i nga mahi horoi i ia wa, me te whai i nga tatauranga mate mate hei inenga hauora o te roopu i roto i te waa.

He aha nga Tohu Whakahoutanga Taputapu Haere mo nga Kaihanga SaaS

Ko te Rev-dep tetahi waahanga o te tauira whanui i roto i nga taputapu kaiwhakawhanake: kei te puta nga momo mahi teitei ki nga taputapu JavaScript kua whakaritea, i hangaia i roto i te Haere, i te Rust ranei, ka puta puta noa i ia waahanga. I whakakapihia e Biome te ESLint me te Prettier mo nga roopu maha. Kei te kai a Turbopack me Rspack i te tina a Webpack. Kei te wero a Bun i a Node.js ake. Ko te miro noa ko enei taputapu ehara i te tuku whakapainga pikinga noa — ka tukuna he whakapainga mahi-taahiraa hei whakarereke i nga mea whaihua.

Mo nga kamupene SaaS e hanga matatini ana, nga hua-waea-maha, ko tenei whakahoutanga taputapu he paanga tika mo te tere miihini. Ko te hoahoanga 207-waewae a Mewayz — e toro ana i nga mea katoa mai i te HR me te utu utu ki te whakatakoto i nga punaha me nga papatohu tātaritanga - e tohu ana i te ahua o te papawaewae nui, hono hono i reira ka tere, ka tika te tātaritanga whakawhirinakitanga. I te wa ka huri te huringa ki te waahanga whaipainga tiritahi ka huri noa i roto i te maha o nga waahanga waahanga, ko te whakaatu tata tonu ki roto i te kauwhata whakawhirinakitanga ehara i te mea ngawari noa - koinei te momo hanganga e aukati ana i nga maiki whakangao utu nui.

Ko te kaha ki te whakautu "he aha te tino whakamahi i tenei mahi" i raro iho i te rima hēkona, kaua ki te rima meneti ka huri te huarahi whakatau a nga miihini. Ka whakahekehia te utu mo te tirotiro, ko te tikanga he maha nga wa ka tirotirohia e nga miihini, ko te tikanga he pai ake ta raatau whakatau. Koinei te moni whakahuihui mo te haumi i roto i nga taputapu tere ka warewarehia i te wa e whakaaro ana nga whakahaere ki nga whakapaunga hua o te kaiwhakawhanake.

Ko te Whakakore Waehere Mate Whangai o To Tikanga Hangarau

Kaore te Hangarau anake e hanga i nga turanga waehere ma — na te ahurea. Ko nga taputapu penei i a Rev-dep e whakarato ana i te kaha, engari ki te huri i taua kaha ki roto i nga mahi riterite me whakapau kaha te whakahaere. Ko nga roopu tino whai hua te mahi i nga inenga waehere mate kia rite ki ta ratou mahi i te kapinga whakamatautau: hei tohu ka kitea, whaiwhaihia mo te hauora turanga waehere ka arotakehia i roto i nga hui miihini me te whakauru ki te whakamahere tere.

Ko etahi o nga tikanga ahurea motuhake e mahi pai ana ko te tohu i nga "ra mukunga waehere" — nga huihuinga o ia wa ko te tino whainga ko te tango waehere kaua ki te taapiri. Ko Netlify i tino whakahiato tenei ma te whakahaere i nga papaarahi e whai ana i nga raina kupenga kua mukua. Kua tuhi a Stripe i te iwi whanui mo a raatau mahi ki te tango i te whakakorenga waehere hei koha miihini akomanga tuatahi, he rite te uara ki te mahi mahi. Ko te nekehanga o te hinengaro e hiahiatia ana ko te mohio ko te waehere pai rawa atu ko te waehere karekau: ko nga raina katoa karekau koe e tuhi he raina kaore koe e whai ki te pupuri, ki te whakamatautau, ki te patuiro, ki te whakamaarama ranei ki tetahi kaimahi hou.

Mo nga kamupene hua e whakahaere ana i nga mahi pakihi uaua, ko te whakarara i waho o te miihini he rite tonu te ako. Ko te ako ano e pai ake ai te oranga o nga turanga waehere - he tirotiro i nga wa katoa, he maamaa te mana, he whakakore i nga mea kaore e whakamahia e te tangata - ka pai ake te hauora o nga mahi pakihi. Ko nga papanga penei i teMewayzhe mea hanga tika kia maarama ai nga umanga: he tirohanga kotahi mo nga taputapu e whakamahia ana, ko nga rerenga mahi kei te whakaputa uara, kei te kohi te taumaha mate whakahaere. Ahakoa kei te arotake koe i nga tukunga rorohiko kare i whakamahia, i nga tukanga pakihi kaore ano kia whakamahia, he rite tonu te ako.

Kei te tere haere nga taputapu, kei te kaha haere nga hononga urupare, a ko nga roopu e whakangao ana ki nga hanganga akuaku i enei ra kei te hanga i tetahi painga whakahiato ka utu hua mo nga tau. Ko te Rev-dep me tana roopu o nga taputapu kaiwhakawhanake a Go-powered ehara i te mea he tohu whakamere noa - he paparanga anga hanga e taea ai te tere o te rorohiko. A, i roto i te ao ko te tere o te whitiwhiti te painga whakataetae tuatahi mo nga pakihi rorohiko, ehara tera i te maaharahara taha. Ko te keemu katoa.

Patai Auau

He aha te mea tere ake a Rev-dep i te knip.dev?

He mea hanga a Rev-dep i roto i te Go, he reo punaha whakahiato kua arotauhia mo te whakakotahitanga me te tere o te mahi, engari ko knip.dev kei te rere ki Node.js. Ma tenei rereketanga hoahoanga ka taea e Rev-dep te tarai i nga kauwhata whakawhirinaki me te kite i nga waehere mate ki te 20x tere ake. Mo nga monorepos nui me nga turanga waehere matatini — penei i te hoahoanga 207-kowae e whakakaha ana i te OS pakihi a Mewayz i app.mewayz.com — ka whakamaoritia te aputa mahi ki te wa tuturu kua tiakina i ia oma CI.

E hia te nui o te waehere mate ka whakaemihia e te kaupapa tipu angamaheni?

Ko nga rangahau me nga purongo pakiwaitara mai i nga roopu miihini e kii ana ka taea e nga turanga waehere pakeke te kawe ki hea mai i te 10% ki te 35% te waehere kaore i whakamahia, kaore ranei e taea te toro atu. Ko te raruraru kei te rite ki te tauine o nga roopu - ka ngaro nga ahuatanga, ka huri nga API, ka whakarerea nga waahanga me te kore e horoi. Ko nga papaaho pera i a Mewayz, e whakakotahi ana i nga waahanga pakihi 207 ki roto i te punaha whakahaere kotahi $19/mo, ka whakawhirinaki nui ki te rapunga waehere mate nahanaha kia noho kikokore, kia mau tonu te turanga waehere.

He pai a Rev-dep mo nga kapa karekau e whakamahi JavaScript, TypeScript ranei?

Kei te arotahi a Rev-dep i tenei wa ki te JavaScript me te TypeScript rauwiringa kaiao, na te mea he huarahi tika ki knip.dev mo aua taiao. Ka kaha ake te tautoko mo etahi atu reo ina pakeke te kaupapa. Mena ka hangaia e to roopu nga hua-tukutuku, taputapu SaaS ranei - he rite ki te tuku a Mewayz i tana OS pakihi katoa i app.mewayz.com - a he JS/TS-taimaha to puranga, he pai te arotake a Rev-dep hei waahanga o to mekameka taputapu kaiwhakawhanake i tenei ra.

Ka taea e au te whakauru i te Rev-dep ki taku paipa CI/CD?

Ae. I hangaia a Rev-dep hei taputapu CLI, kia ngawari ki te taka ki roto i tetahi paipa CI/CD i te taha o to riipene me nga mahi whakamatautau. Ko tana painga tere he mea tino nui i roto i nga raina paipa aunoa ka whakahekehia e nga huringa urupare tere te wa tatari mo te kaiwhakawhanake. Ahakoa kei te whakahaere koe i tetahi whakaoho hiroki, kei te whakahaere ranei i tetahi papaaahua-katoa penei i te OS pakihi $19/mo a Mewayz, ko te whakauru i te tātaritanga waehere mate ki roto i to paipa ka awhina i te whakauru i te akuaku turanga waehere i ia hanumi.