Seall HN: Rev-dep - 20x togalach eile nas luaithe knip.dev ann an Go | Mewayz Blog Skip to main content
Hacker News

Seall HN: Rev-dep - 20x togalach eile nas luaithe knip.dev ann an Go

Beachdan

18 min read Via github.com

Mewayz Team

Editorial Team

Hacker News

A’ Chìs Falaichte air gach Sgioba Bathar-bog a tha a’ Fàs

Tha an aon èiginn shàmhach mu choinneimh a h-uile pròiseact bathar-bog a mhaireas fada gu leòr: tòisichidh an còd-stèidh a’ fàs nas luaithe na thuigeas an sgioba e. Gnìomhan nach eil duine ag iarraidh, às-mhalairt a chaidh a chruthachadh airson feart a chuir air bhog ann an 2022 agus a chaidh a chuir air adhart gu sàmhach, co-phàirtean a tha beò air diosc ach nach ruig gu brobhsair gu bràth. Chan e sloppiness a tha seo - is e fiosaig a th’ ann. Bidh sgiobaidhean a’ gluasad gu sgiobalta, bidh riatanasan ag atharrachadh, agus tha entropy gun stad. Chan e a’ cheist a bheil còd marbh aig a’ chòd-chòd agad. 'S e a' cheist dè a chosgas e dhut an-dràsta fhèin.

A rèir rannsachadh bho sgioba cinneasachd innleadaireachd Google, bidh luchd-leasachaidh a’ caitheamh 42% den ùine còdaidh aca gu cuibheasach a’ leughadh agus a’ tuigsinn a’ chòd a th’ ann an-dràsta seach a bhith a’ sgrìobhadh comas-gnìomh ùr. Nuair a tha an còd a th’ ann mar-thà a’ toirt a-steach mìltean de loidhnichean nach eil a’ frithealadh adhbhar sam bith tuilleadh, tha an ceudad sin a’ dol nas àirde buileach. Airson sgioba de dheich innleadairean, tha sin gu dearbh ceathrar luchd-obrach làn-ùine a’ dèanamh dad cinneasach - chan ann air sgàth gu bheil iad leisg, ach leis nach eil na h-innealan aca a’ cumail suas ris an astar aig a bheil bathar-bog ag aois.

Sin as coireach gu bheil tonn ùr de dh’ innealan leasaiche a chaidh a thogail air cànanan siostaman leithid Go and Rust a’ togail fìor thoileachas ann an cearcallan innleadaireachd. Tha innealan mar Rev-dep - anailisiche cùl-earbsa a tha ag ràdh gu bheil e a’ ruith 20x nas luaithe na an knip.dev stèidhichte air JavaScript - a’ riochdachadh barrachd air dìreach leasachadh mean air mhean. Tha iad a’ comharrachadh ath-bheachdachadh bunaiteach air mar a bhios sinn a’ toirt taic don phròiseas leasachaidh fhèin.

Dè dha-rìribh a bhios mion-sgrùdadh air cùl eisimeileachd

Mus tuig thu carson a tha astar cho cudromach, cuidichidh e le bhith a’ tuigsinn dè tha innealan anailis eisimeileachd a’ dèanamh. Ann am pròiseact JavaScript no TypeScript, bidh gach faidhle a’ toirt a-steach bho fhaidhlichean eile. Bidh a h-uile gnìomh, clas, no seasmhach a thèid às-mhalairt bho mhodal a’ cruthachadh eisimeileachd a dh’ fhaodadh a bhith ann - rudeigin air am faodadh pàirtean eile den bhun-chòd a bhith an urra. Tha mion-sgrùdadh eisimeileachd “Reverse” a’ tionndadh an t-seallaidh seo: an àite a bhith a’ faighneachd “dè air a bheil am modal seo an urra,” tha e a’ faighneachd “dè tha an urra ris a’ mhodal seo?”

Mas e “rud sam bith” am freagairt don dàrna ceist sin, lorg thu còd marbh. Tha às-mhalairt nach eil dad a’ toirt a-steach na sgudal. Is e gnìomh nach eil dad a’ gairm fiachan teicnigeach le ìre rèidh mìosail. Bidh innealan eisimeileachd air ais gu riaghailteach a’ coiseachd do ghraf pròiseict gu lèir, a’ mapadh a h-uile dàimh eadar modalan, agus a’ toirt uachdar air na nodan aig nach eil ceanglaichean a-steach. Mar thoradh air an sin tha sgrùdadh mionaideach air a h-uile càil sa chòd-chòd agad a ghabhadh a thoirt air falbh gu sàbhailte.

Tha Knip.dev a’ dèanamh seo gu math airson pròiseactan JavaScript agus TypeScript, agus tha spèis mhòr aig a’ choimhearsnachd dha. Ach tha e sgrìobhte ann an JavaScript, a tha a 'ciallachadh gu bheil e a' ruith air Node.js, a tha a 'ciallachadh gu bheil e a' faighinn a h-uile gin de na cuingeadan coileanaidh aon-snàthainn aig Node nuair a bhios e a 'dèanamh gluasad siostam faidhle mòr agus mion-sgrùdadh samhla. Airson pròiseact le 500 faidhle, tha seo ceart gu leòr. Airson pròiseact le 50,000 faidhle - an seòrsa monorepo a bheir cumhachd do thoraidhean SaaS fìor iomairt - faodaidh an anailis mionaidean a thoirt. Agus tha mionaidean, aig an deireadh-sheachdain ag obrachadh pìoban CI/CD an latha an-diugh, na bhriseadh-dùil.

Carson a Rach Atharraich an àireamhachadh

Chaidh Go a dhealbhadh bhon talamh suas airson dìreach an seòrsa eallach obrach a tha mion-sgrùdadh eisimeileachd ag iarraidh: faidhle luath I/O, prìomh-amasan concurrency sàr-mhath, agus glè bheag de ùine ruith os an cionn. Far a bheil Node.js a’ pròiseasadh aon ghnìomh aig aon àm air aon snàithlean agus an urra ri fios air ais agus a’ gealltainn co-shìnteachd meallta, faodaidh Go na mìltean de goroutines a shìolachadh a bhios dha-rìribh a’ coileanadh aig an aon àm thairis air a h-uile cores CPU a tha rim faighinn. Airson gnìomh a tha a’ toirt a-steach a bhith a’ leughadh ceudan de fhaidhlichean, a’ parsadh an ASTan aca, agus a’ togail graf de dhàimhean samhlachail, tha an eadar-dhealachadh ailtireil seo ag eadar-theangachadh gu dìreach gu coileanadh cloc-balla.

Chan e draoidheil a th’ anns an luaths 20x a tha an t-Urr-dep a’ tagradh - is e sin a thachras nuair a cheanglas tu an cànan cheart ris an duilgheadas cheart. Tha nàdar cruinnichte Go cuideachd a’ ciallachadh nach eil peanas blàthachaidh JIT ann. Bho thoiseach tòiseachaidh fuar gu mion-sgrùdadh iomlan, tha Go binary ag obair aig ìre faisg air an ìre as àirde. Is e a’ bhuaidh phractaigeach gum faod mion-sgrùdadh a thug 90 diogan ann an inneal stèidhichte air Node a chrìochnachadh ann an nas lugha na 5 diogan ann an co-ionann Go air a dheagh bhuileachadh. Sin an t-eadar-dhealachadh a tha eadar seic a bhios luchd-leasachaidh a' leum a chionn 's gu bheil e "a' toirt gu bràth" agus seic a bhios a' ruith air a h-uile gealltanas gun duine sam bith a' mothachadh na cosgais.

"Se an t-inneal leasaiche as fheàrr fear a thèid a-mach às an rathad. Ma chuireas an t-sreath anailis agad trì mionaidean ris a h-uile loidhne-phìoban CI, lorgaidh luchd-leasachaidh dòighean air a dhol thairis air. Chan eil astar math ri bhith agad - tha e riatanach airson gabhail ris."

A’ chùis gnìomhachais airson Slàinteachas Codebase

Chan e dìreach duilgheadas bòidhchead leasaiche a th’ ann an còd marbh - tha builean gnìomhachais cruaidh aige a bhios ag èirigh thar ùine. Beachdaich air dè dha-rìribh a chosgas bunaitean còd bloighean do bhuidhnean:

  • Amannan togail nas fhaide a chuireas maill air pìoban cleachdadh agus a lughdaicheas an àireamh de sgaoilidhean as urrainn sgioba a chuir air falbh gu sàbhailte san t-seachdain
  • Luchd inntinn nas àirde airson innleadairean air bòrd, a dh’ fheumas seachdainean a chaitheamh a’ comharrachadh phàtranan gnìomhach bhon fheadhainn a tha air an trèigsinn
  • Meudachadh phasganan a nì cron air coileanadh an aplacaid, gu h-àraidh ann an aplacaidean lìn far a bheil a h-uile kilobyte a’ toirt buaidh air amannan luchdan is ìrean tionndaidh
  • Leudachadh uachdar tèarainteachd - tha còd marbh anns a bheil eisimeileachd fhathast na vectar airson so-leòntachd anns na pacaidean sin
  • Bloat sreath deuchainn far a bheil deuchainnean airson comas-gnìomh a chaidh a thoirt air falbh a’ ruith, ag ithe mionaidean CI, agus uaireannan a’ fàiligeadh ann an dòighean troimh-chèile
  • Soidhnichean iom-fhillteachd meallta a nì co-dhùnaidhean ailtireachd nas duilghe a chionn 's nach eil e soilleir dè a th' ann an giùlan luchdan agus dè a tha san amharc

Lorg sgrùdadh ann an 2023 leis a’ bhuidheann DevOps Research and Assessment (DORA) gun do chuir sgiobaidhean le cleachdaidhean càileachd còd làidir - a’ toirt a-steach toirt air falbh còd marbh gu cunbhalach - 2.4x nas trice agus gun robh 7x ìrean fàilligeadh atharrachaidh nas ìsle aca na sgiobaidhean a leig le fiachan teicnigeach cruinneachadh. Chan eil an co-dhàimh co-thuiteamach. Tha bunaitean còd glan nas fhasa reusanachadh mu dheidhinn, nas fhasa an deuchainn, agus nas fhasa atharrachadh gu sàbhailte.

Do ghnìomhachasan a tha a’ togail air àrd-ùrlaran leithid Mewayz - a bheir cumhachd do 138,000 neach-cleachdaidh thairis air 207 modal gnìomhachais sònraichte a’ dol bho CRM agus pàigheadh ​​gu riaghladh cabhlach agus innealan ceangail-ann-bith - tha slàinte codebase air iomadachadh. Nuair a bhios an àrd-ùrlar agad a’ dol thairis air mòran raointean gnìomh, tha an uachdar amalachaidh eadar modalan fìor mhòr. Faodaidh às-mhalairt nach deach a chleachdadh ann am modal bunaiteach dùilean meallta a chruthachadh airson modalan eisimeileach, ath-chuiridhean neo-riatanach a bhrosnachadh anns an ìre UI, agus an graf eisimeileachd a dhèanamh nas toinnte ann an dòighean a nì atharrachaidhean cunnartach san àm ri teachd.

Ag amalachadh mion-sgrùdadh eisimeileachd ann an sruthan obrach leasachaidh ùr-nodha

Chan e fìor chumhachd innealan luath mar Rev-dep an glanadh aon-ùine a tha e a’ comasachadh - is e an comas mion-sgrùdadh leantainneach a ruith mar phàirt den chearcall leasachaidh àbhaisteach agad. Nuair a bheir scan còd marbh 4 diogan an àite 4 mionaidean, faodaidh tu a chuir ris na dubhan ro-ghealltanas agad. Nuair a bheir e 4 diogan an àite 4 mionaidean, faodaidh an loidhne-phìoban CI agad fàiligeadh ann an iarrtas tarraing a bheir a-steach às-mhalairt ùr nach deach a chleachdadh seach a bhith a’ leigeil leotha cruinneachadh gu sàmhach.

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

Tha an gluasad seo bho “tachartas glanaidh ràitheil” gu “geata càileachd leantainneach” coltach ris na thachair nuair a dh’ fhàs na loidhnichean-loidhnichean luath gu leòr airson ruith air a h-uile buille-iuchrach ann an IDE. Mus do ruith ESLint ann an àm fìor, chaidh stoidhle còd a chuir an gnìomh le lèirmheasan còd bho àm gu àm. Às deidh sin, thàinig e gu bhith na àrainneachd - pàirt den luchd-leasachaidh lùb fios-air-ais a fhuair eòlas fhad ‘s a bha iad a’ sgrìobhadh còd, chan ann às deidh sin. Faodaidh mion-sgrùdadh eisimeileachd luath an aon chuideam càileachd àrainneachd a chruthachadh timcheall air còd marbh.

Mar as trice bidh trì pàirtean ann a bhith a’ stèidheachadh an t-sruth-obrach seo:

  1. Mion-sgrùdadh bun-loidhne: Ruith an t-inneal mu choinneamh a' chòd-chòd làithreach agad gus sgèile a' chòd marbh a tha ann mu thràth a thuigsinn. Na feuch ris a h-uile càil a chàradh aig an aon àm - triage a rèir modal agus prìomhachas a rèir cunnart.
  2. Co-èigneachadh CI: Cuir am mion-sgrùdadh ris an loidhne-phìoban agad le stairsneach - fàillig air às-mhalairt sam bith nach deach a chleachdadh a-rithist, ach na fàillig air an fheadhainn a th’ ann mu thràth gus an glan thu iad.
  3. Sprints glanaidh clàraichte: Cleachd toradh an inneil gus obair glanaidh cunbhalach a stiùireadh, a’ leantainn cunntas còd marbh mar mheatrach slàinte sgioba thar ùine.

Soidhnichean Ath-bheothachaidh Innealan What The Go airson Luchd-togail SaaS

Tha Rev-dep mar phàirt de phàtran nas fharsainge ann an innealan leasaiche: tha roghainnean àrd-choileanaidh eile seach innealan JavaScript stèidhichte, a chaidh a thogail ann an Go or Rust, a’ nochdadh thar gach roinne. Ghabh Biome àite ESLint agus Prettier airson mòran sgiobaidhean. Tha Turbopack agus Rspack ag ithe lòn Webpack. Tha Bun a 'toirt dùbhlan dha Node.js fhèin. Is e an t-snàthainn cumanta nach eil na h-innealan sin dìreach a’ tabhann leasachadh mean air mhean - bidh iad a’ tabhann leasachaidhean gnìomh ceum a dh’ atharraicheas na tha practaigeach.

Do chompanaidhean SaaS a tha a’ togail thoraidhean iom-fhillte, ioma-mhodal, tha buaidh dhìreach aig an ath-bheothachadh innealan seo air astar innleadaireachd. Tha ailtireachd 207-modal Mewayz - a’ spangachadh a h-uile càil bho HR agus pàighidh gu siostaman gleidhidh agus deas-bhòrdan anailis - a’ riochdachadh dìreach an seòrsa còd còd mòr eadar-cheangailte far a bheil mion-sgrùdadh eisimeileachd luath, ceart a’ fàs deatamach gu h-obrachail. Nuair a dh’ fhaodadh atharrachadh gu modal goireis co-roinnte a dhol tro dhusanan de mhodalan feart gu teòiridheach, chan eil e dìreach goireasach faicsinneachd faisg air a’ bhad a-steach don fhìor ghraf eisimeileachd - is e seo an seòrsa bun-structair a chuireas casg air tachartasan cinneasachaidh daor.

Tha an comas “dè dha-rìribh a chleachdas an gnìomh seo” a fhreagairt ann an nas lugha na còig diogan seach còig mionaidean ag atharrachadh mar a bhios innleadairean a’ dèanamh cho-dhùnaidhean. Bidh e a’ lughdachadh cosgais sgrùdaidh, a tha a’ ciallachadh gum bi innleadairean a’ sgrùdadh nas trice, a’ ciallachadh gun dèan iad co-dhùnaidhean nas fheàrr. Is e seo an toradh toinnte air tasgadh ann an innealan luath a thathas gu tric a’ faighinn dearmad nuair a smaoinicheas buidhnean air caiteachas cinneasachd leasaiche.

A’ cur às do chòd marbh mar phàirt den chultar innleadaireachd agad

Cha tog teicneòlas leis fhèin bunaitean còd glan - bidh cultar a’ dèanamh sin. Bheir innealan mar Rev-dep an comas, ach tha feum air dealas eagrachaidh gus an comas sin a thionndadh gu cleachdadh cunbhalach. Bidh na sgiobaidhean as èifeachdaiche a’ làimhseachadh metrics còd marbh san aon dòigh sa bhios iad a’ làimhseachadh còmhdach deuchainn: mar chomharra faicsinneach, rianail de shlàinte còd-stèidh a thèid ath-sgrùdadh ann an coinneamhan innleadaireachd agus a thèid a thoirt a-steach do phlanadh sprint.

Tha cuid de chleachdaidhean cultarail sònraichte a dh’obraicheas gu math a’ toirt a-steach sònrachadh “làithean sguabaidh às còd” – tachartasan bho àm gu àm far a bheil e na amas sònraichte còd a thoirt air falbh seach a chur ris. Rinn Netlify iomradh air seo le bhith a’ ruith bùird stiùiridh a’ cumail sùil air loidhnichean lìon a chaidh a dhubhadh às. Tha Stripe air sgrìobhadh gu poblach mun chleachdadh aca a bhith a’ làimhseachadh cuir às do chòd mar thabhartas innleadaireachd den chiad ìre, co-ionann ann an luach ri obair feart. Is e an gluasad inntinn a tha a dhìth a bhith ag aithneachadh gur e an còd as fheàrr còd nach eil ann: tha a h-uile loidhne nach sgrìobh thu na loidhne nach fheum thu a-riamh a chumail suas, a dhearbhadh, a dhì-bhugachadh no a mhìneachadh do neach-fastaidh ùr.

Do chompanaidhean toraidh a tha a’ riaghladh gnìomhachd gnìomhachais iom-fhillte, tha an co-shìnte taobh a-muigh innleadaireachd a cheart cho cuideachail. Tha an aon smachd a tha a’ dèanamh bunaitean còd nas fhallaine - sgrùdaidhean cunbhalach, seilbh shoilleir, cuir às do rudan nach bi duine a’ cleachdadh - a’ dèanamh pròiseasan gnìomhachais nas fhallaine cuideachd. Tha àrd-ùrlaran mar Mewayz air an togail gu mionaideach gus an seòrsa soilleireachd obrachaidh sin a thoirt do ghnìomhachasan: sealladh aonaichte de na h-innealan a thathas a’ cleachdadh, dè na sruthan-obrach a tha a’ cruthachadh luach, agus far a bheil cuideam marbh eagrachaidh a’ cruinneachadh. Co-dhiù a tha thu a’ sgrùdadh às-mhalairt bathar-bog nach eilear a’ cleachdadh no pròiseasan gnìomhachais nach deach a chleachdadh, tha an smachd bunaiteach co-ionann.

Tha na h-innealan a’ fàs nas luaithe, tha na lùban fios-air-ais a’ fàs nas teinne, agus tha na sgiobaidhean a tha a’ tasgadh ann am bun-structar slàinteachas codebase an-diugh a’ togail buannachd toinnte a phàigheas buannachdan fad bhliadhnaichean. Chan e dìreach slatan-tomhais inntinneach a th’ ann an Rev-dep agus a bhuidheann de dh’ innealan leasaiche le cumhachd Go - is iad sin an ìre bun-structair a nì astar bathar-bog seasmhach comasach. Agus ann an saoghal far a bheil astar itealain na phrìomh bhuannachd farpaiseach do ghnìomhachasan bathar-bog, chan e dragh iomaill a tha sin. 'S e an geama gu lèir a th' ann.

Ceistean Bitheanta

Dè nì Rev-dep nas luaithe na knip.dev?

Tha Rev-dep air a thogail ann an Go, cànan siostaman cruinnichte a tha air a mheudachadh airson airgead-crìche agus astar cur an gnìomh amh, ach tha knip.dev a’ ruith air Node.js. Tha an eadar-dhealachadh ailtireil seo a’ leigeil le Rev-dep grafaichean eisimeileachd a sgrùdadh agus còd marbh a lorg suas gu 20x nas luaithe. Airson monorepos mòra no bunaitean còd iom-fhillte - mar an ailtireachd 207-modal a tha a’ toirt cumhachd do ghnìomhachas Mewayz OS aig app.mewayz.com - bidh am beàrn coileanaidh sin ag eadar-theangachadh gu fìor ùine air a shàbhaladh air a h-uile ruith CI.

Dè an ìre de chòd marbh a chruinnicheas pròiseact àbhaisteach fàs?

Tha sgrùdaidhean agus aithrisean aithriseach bho sgiobaidhean innleadaireachd a’ moladh gum faod bunaitean còd aibidh a ghiùlan àite sam bith bho 10% gu 35% còd gun chleachdadh no nach gabh a ruighinn. Bidh an duilgheadas a’ fàs nas miosa mar sgèile sgioba - bidh feartan air an ìsleachadh, bidh APIan ag atharrachadh, agus modalan air an trèigsinn gun ghlanadh. Tha àrd-ùrlaran mar Mewayz, a bhios a’ daingneachadh còrr air 207 modal gnìomhachais ann an aon shiostam obrachaidh $ 19/mo, gu mòr an urra ri lorg còd marbh eagarach gus an còd-còd a chumail caol agus seasmhach.

A bheil Rev-dep freagarrach airson sgiobaidhean nach cleachd JavaScript no TypeScript?

Tha Rev-dep an-dràsta a’ cuimseachadh air eag-shiostaman JavaScript agus TypeScript, ga fhàgail na roghainn dìreach eile an àite knip.dev airson na h-àrainneachdan sin. Dh’ fhaodadh taic airson cànanan a bharrachd leudachadh mar a thig am pròiseact air adhart. Ma thogas an sgioba agad toraidhean stèidhichte air an lìon no innealan SaaS - coltach ri mar a lìbhrigeas Mewayz an OS iomlan aca aig app.mewayz.com - agus gu bheil an stac agad JS/TS-heavy, is math as fhiach Rev-dep a mheasadh mar phàirt den t-sreath innealan leasaiche agad an-diugh.

Am faod mi Rev-dep fhilleadh a-steach don loidhne-phìoban CI/CD a th’ agam?

Tha. Tha Rev-dep air a dhealbhadh mar inneal CLI, ga dhèanamh furasta a dhol a-steach do loidhne-phìoban CI / CD sam bith còmhla ris na ceumannan lìnidh is deuchainn a th’ agad mu thràth. Tha a bhuannachd astair gu sònraichte luachmhor ann am pìoban fèin-ghluasadach far am bi lùban fios-air-ais nas luaithe a’ lughdachadh amannan feitheimh leasaiche. Co-dhiù a tha thu a’ ruith gnìomhachas tòiseachaidh caol no a’ riaghladh àrd-ùrlar làn-nochdadh mar OS gnìomhachais $ 19/mo Mewayz, bidh amalachadh mion-sgrùdadh còd marbh a-steach don loidhne-phìoban agad a’ cuideachadh le bhith a’ cur an gnìomh slàinteachas còd-stèidh aig a h-uile aonadh.