Hacker News

Shfaq HN: Rev-dep – Ndërtimi alternativ 20 herë më i shpejtë i knip.dev në Go

Zbuloni rev-dep, një mjet për zbulimin e kodit të vdekur të ndërtuar në Go, që është 20 herë më i shpejtë se knip.dev. Shkurtoni kohët e ndërtimit dhe pastroni bazën tuaj të kodeve për ekipet në rritje të softuerit.

8 min lexim

Mewayz Team

Editorial Team

Hacker News

Taksa e Fshehur për çdo Ekip Softuerësh në rritje

Çdo projekt softuerësh që mbijeton mjaftueshëm, përfundimisht përballet me të njëjtën krizë të qetë: baza e kodit fillon të rritet më shpejt sesa mund ta kuptojë ekipi. Funksionet që askush nuk i thërret, eksporte që u krijuan për një veçori që u dërgua në 2022 dhe u zhvlerësua në heshtje, komponentë që jetojnë në disk, por nuk arrijnë kurrë në një shfletues. Kjo nuk është shkujdesje - është fizikë. Ekipet lëvizin shpejt, kërkesat ndryshojnë dhe entropia është e pamëshirshme. Pyetja nuk është nëse baza juaj e kodeve ka kod të vdekur. Pyetja është se sa ju kushton tani.

Sipas hulumtimit nga ekipi i produktivitetit inxhinierik të Google, zhvilluesit shpenzojnë mesatarisht 42% të kohës së tyre të kodimit duke lexuar dhe kuptuar kodin ekzistues në vend që të shkruajnë funksionalitete të reja. Kur ai kod ekzistues përfshin mijëra rreshta që nuk i shërbejnë më asnjë qëllimi, kjo përqindje anon edhe më e lartë. Për një ekip prej dhjetë inxhinierësh, kjo është në fakt katër punonjës me kohë të plotë që nuk bëjnë asgjë produktive – jo sepse janë dembelë, por sepse mjetet e tyre nuk po ecin me shpejtësinë me të cilën vjetërohet softueri.

Kjo është arsyeja pse një valë e re e veglave të zhvilluesve të ndërtuar në gjuhët e sistemeve si Go dhe Rust po gjeneron emocion të vërtetë në qarqet inxhinierike. Mjetet si Rev-dep - një analizues i varësisë së kundërt që pretendon se funksionon 20 herë më shpejt se knip.dev popullor i bazuar në JavaScript - përfaqësojnë më shumë sesa thjesht përmirësim në rritje. Ato sinjalizojnë një rimendim themelor të mënyrës se si ne instrumentojmë vetë procesin e zhvillimit.

Çfarë bën në të vërtetë analiza e varësisë së kundërt

Para se të kuptoni pse shpejtësia ka kaq shumë rëndësi, ndihmon për të kuptuar se çfarë po bëjnë në të vërtetë mjetet e analizës së varësisë. Në një projekt JavaScript ose TypeScript, çdo skedar importohet nga skedarë të tjerë. Çdo funksion, klasë ose konstante që eksportohet nga një modul krijon një varësi të mundshme – diçka në të cilën mund të mbështeten pjesë të tjera të bazës së kodit. Analiza e varësisë "e kundërt" e kthen këtë këndvështrim: në vend që të pyesë "nga çfarë varet ky modul", ajo pyet "çfarë varet nga ky modul?"

Nëse përgjigja për pyetjen e dytë është "asgjë", ju keni gjetur kod të vdekur. Një eksport që asgjë nuk e importon është mbetje. Një funksion që asgjë nuk e quan është borxhi teknik me një normë interesi mujore. Mjetet e varësisë së kundërt ecin në mënyrë sistematike të gjithë grafikun e projektit tuaj, hartojnë çdo marrëdhënie midis moduleve dhe nxjerrin në sipërfaqe nyjet që nuk kanë lidhje hyrëse. Rezultati është një auditim i saktë i gjithçkaje në bazën tuaj të kodeve që mund të hiqet në mënyrë të sigurt.

💡 A E DINI?

Mewayz zëvendëson 8+ mjete biznesi në një platformë

CRM · Faturimi · HR · Projekte · Rezervime · eCommerce · POS · Analitikë. Plan falas përgjithmonë.

Filloni falas →

Knip.dev e bën këtë mirë për projektet JavaScript dhe TypeScript dhe respektohet gjerësisht në komunitet. Por është i shkruar në JavaScript, që do të thotë se funksionon në Node.js, që do të thotë se trashëgon të gjitha kufizimet e performancës me një fije të vetme të Node kur bën përshkimin e sistemit të skedarëve në shkallë të gjerë dhe analizën e simboleve. Për një projekt me 500 skedarë, kjo është në rregull. Për një projekt me 50,000 skedarë - lloji i monorepo-s që fuqizon produktet SaaS të ndërmarrjeve reale - analiza mund të zgjasë disa minuta. Dhe minuta, në kadencën në të cilën funksionojnë tubacionet moderne CI/CD, është një problematikë.

Pse Go ndryshon llogaritjen

Go është projektuar nga themeli për saktësisht llojin e ngarkesës që kërkon analiza e varësisë: hyrje/dalje e shpejtë e skedarit, primitivë të shkëlqyer të konkurencës dhe shpenzime minimale të përdorimit. Aty ku Node.js përpunon një detyrë në një kohë në një lidhje të vetme dhe mbështetet në kthimet e thirrjeve dhe premtimet për paralelizëm të rremë, Go mund të krijojë mijëra gorutina që ekzekutohen vërtet paralelisht në të gjitha bërthamat e disponueshme të CPU. Për një detyrë që përfshin leximin e qindra skedarëve, analizimin e AST-ve të tyre dhe ndërtimin e një grafiku të marrëdhënieve të simboleve, ky ndryshim arkitektonik përkthehet drejtpërdrejt në performancën e orës së murit.

Shpejtësia 20x e pretenduar nga Rev-dep nuk është magji - është ajo që ndodh kur përputhni gjuhën e duhur me problemin e duhur. Natyra e përpiluar e Go do të thotë gjithashtu asnjë dënim për ngrohjen JIT. Nga fillimi i ftohtë deri në analizën e plotë, një binar Go funksionon në p. afër pikut

Frequently Asked Questions

What makes Rev-dep faster than knip.dev?

Rev-dep is built in Go, a compiled systems language optimized for concurrency and raw execution speed, whereas knip.dev runs on Node.js. This architectural difference allows Rev-dep to analyze dependency graphs and detect dead code up to 20x faster. For large monorepos or complex codebases — like the 207-module architecture powering Mewayz's business OS at app.mewayz.com — that performance gap translates into real time saved on every CI run.

How much dead code does a typical growing project accumulate?

Studies and anecdotal reports from engineering teams suggest that mature codebases can carry anywhere from 10% to 35% unused or unreachable code. The problem compounds as teams scale — features get deprecated, APIs change, and modules are abandoned without cleanup. Platforms like Mewayz, which consolidates over 207 business modules into a single $19/mo operating system, rely heavily on systematic dead code detection to keep the codebase lean and maintainable.

Is Rev-dep suitable for teams that don't use JavaScript or TypeScript?

Rev-dep is currently focused on JavaScript and TypeScript ecosystems, making it a direct alternative to knip.dev for those environments. Support for additional languages may expand as the project matures. If your team builds web-based products or SaaS tools — similar to how Mewayz delivers its full business OS at app.mewayz.com — and your stack is JS/TS-heavy, Rev-dep is well worth evaluating as part of your developer toolchain today.

Can I integrate Rev-dep into my existing CI/CD pipeline?

Yes. Rev-dep is designed as a CLI tool, making it straightforward to drop into any CI/CD pipeline alongside your existing linting and testing steps. Its speed advantage is especially valuable in automated pipelines where faster feedback loops reduce developer wait times. Whether you're running a lean startup or managing a full-featured platform like Mewayz's $19/mo business OS, integrating dead code analysis into your pipeline helps enforce codebase hygiene at every merge.

Provoni Mewayz Falas

Platformë e gjithë-në-një për CRM, faturim, projekte, HR & më shumë. Nuk kërkohet kartelë krediti.

Filloni të menaxhoni biznesin tuaj më me zgjuarsi sot.

Bashkohuni me 30,000+ biznese. Plan falas përgjithmonë · Nuk kërkohet kartelë krediti.

E gjetët të dobishme? Shpërndajeni.

Gati për ta vënë në praktikë?

**Join 30,000+ business using Mewayz. Free forever plan — no credit card required.**

Fillo Versionin Falas →

Gati për të ndërmarrë veprim?

Filloni provën tuaj falas të Mewayz sot

Platformë biznesi all-in-one. Nuk kërkohet kartë krediti.

Filloni falas →

14-ditore provë falas · Pa kartelë krediti · Anuloni kur të doni