Hacker News

បង្ហាញ HN: Rev-dep – 20x លឿនជាង knip.dev បង្កើតជំនួសនៅក្នុង Go

មតិយោបល់

2 min read Via github.com

Mewayz Team

Editorial Team

Hacker News

ពន្ធដែលលាក់នៅលើគ្រប់ក្រុមកម្មវិធីដែលកំពុងរីកចម្រើន

រាល់គម្រោងកម្មវិធីដែលនៅរស់បានយូរគ្រប់គ្រាន់ ទីបំផុតប្រឈមនឹងវិបត្តិស្ងប់ស្ងាត់ដូចគ្នា៖ មូលដ្ឋានកូដចាប់ផ្តើមរីកចម្រើនលឿនជាងក្រុមអាចយល់បាន។ មុខងារ​ដែល​គ្មាន​នរណា​ហៅ​ចេញ ការ​នាំចេញ​ដែល​ត្រូវ​បាន​បង្កើត​ឡើង​សម្រាប់​លក្ខណៈ​ពិសេស​ដែល​បាន​ដឹក​ជញ្ជូន​ក្នុង​ឆ្នាំ 2022 និង​ត្រូវ​បាន​គេ​បដិសេធ​ដោយ​ស្ងាត់ៗ សមាសធាតុ​ដែល​រស់​នៅ​លើ​ថាស​ប៉ុន្តែ​មិន​ដែល​ទៅ​ដល់​កម្មវិធី​រុករក។ នេះមិនមែនជាភាពច្របូកច្របល់ទេ វាជារូបវិទ្យា។ ក្រុមផ្លាស់ទីលឿន តម្រូវការផ្លាស់ប្តូរ ហើយ entropy គឺមិនឈប់ឈរ។ សំណួរគឺថាតើ codebase របស់អ្នកមានកូដស្លាប់ឬអត់។ សំណួរគឺថាតើវាមានតម្លៃប៉ុន្មានដែលអ្នកឥឡូវនេះ។

យោងតាមការស្រាវជ្រាវពីក្រុមផលិតភាពវិស្វកម្មរបស់ Google អ្នកអភិវឌ្ឍន៍ចំណាយជាមធ្យម 42% នៃពេលវេលាសរសេរកូដរបស់ពួកគេ អាន និងស្វែងយល់កូដដែលមានស្រាប់ ជាជាងការសរសេរមុខងារថ្មី។ នៅពេលដែលលេខកូដដែលមានស្រាប់នោះរួមបញ្ចូលបន្ទាត់រាប់ពាន់ដែលលែងបម្រើគោលបំណងណាមួយទៀតនោះ ភាគរយនោះកាន់តែខ្ពស់ថែមទៀត។ សម្រាប់ក្រុមវិស្វករចំនួនដប់នាក់ នោះគឺជានិយោជិតពេញម៉ោងចំនួន 4 នាក់ដែលមានប្រសិទ្ធភាព - មិនមែនដោយសារតែពួកគេខ្ជិលនោះទេ ប៉ុន្តែដោយសារតែឧបករណ៍របស់ពួកគេមិនដើរតាមល្បឿននៃកម្មវិធីដែលគ្រប់អាយុ។

នេះ​ជា​មូលហេតុ​ដែល​រលក​ថ្មី​នៃ​ឧបករណ៍​អ្នក​អភិវឌ្ឍន៍​ដែល​បាន​បង្កើត​ឡើង​លើ​ភាសា​ប្រព័ន្ធ​ដូចជា Go និង Rust កំពុង​បង្កើត​ការ​រំភើប​ចិត្ត​ពិត​ប្រាកដ​ក្នុង​រង្វង់​វិស្វកម្ម។ ឧបករណ៍ដូចជា Rev-dep — ឧបករណ៍វិភាគភាពអាស្រ័យបញ្ច្រាសដែលអះអាងថាដំណើរការ 20x លឿនជាង ជាង knip.dev ដែលមានមូលដ្ឋានលើ JavaScript ដែលពេញនិយម - តំណាងឱ្យច្រើនជាងការកែលម្អបន្ថែម។ ពួកគេ​បង្ហាញ​ពី​ការ​គិត​ឡើងវិញ​ជា​មូលដ្ឋាន​អំពី​របៀប​ដែល​យើង​រៀបចំ​ដំណើរការ​អភិវឌ្ឍន៍​ខ្លួន​វា​។

តើការវិភាគភាពអាស្រ័យបញ្ច្រាសធ្វើអ្វី

មុននឹងយល់ពីមូលហេតុដែលល្បឿនមានសារៈសំខាន់ខ្លាំងណាស់ វាជួយឱ្យយល់ពីអ្វីដែលឧបករណ៍វិភាគភាពអាស្រ័យកំពុងធ្វើ។ នៅក្នុងគម្រោង JavaScript ឬ TypeScript រាល់ឯកសារនាំចូលពីឯកសារផ្សេងទៀត។ រាល់មុខងារ ថ្នាក់ ឬថេរដែលនាំចេញពីម៉ូឌុលបង្កើតភាពអាស្រ័យសក្តានុពល — អ្វីមួយដែលផ្នែកផ្សេងទៀតនៃមូលដ្ឋានកូដអាចពឹងផ្អែកលើ។ ការវិភាគភាពអាស្រ័យ "បញ្ច្រាស" ត្រឡប់ទស្សនៈនេះ៖ ជំនួសឱ្យការសួរថា "តើម៉ូឌុលនេះអាស្រ័យលើអ្វី" វាសួរថា "តើអ្វីអាស្រ័យលើម៉ូឌុលនេះ?"

ប្រសិនបើចម្លើយចំពោះសំណួរទីពីរនោះគឺ "គ្មានអ្វីទេ" អ្នកបានរកឃើញលេខកូដស្លាប់ហើយ។ ការនាំចេញដែលគ្មានអ្វីនាំចូលគឺជាកាកសំណល់។ មុខងារដែលគ្មានអ្វីអាចហៅបានគឺបំណុលបច្ចេកទេសជាមួយនឹងអត្រាការប្រាក់ប្រចាំខែ។ ឧបករណ៍ពឹងផ្អែកបញ្ច្រាសជាប្រព័ន្ធដើរលើក្រាហ្វគម្រោងទាំងមូលរបស់អ្នក គូសផែនទីរាល់ទំនាក់ទំនងរវាងម៉ូឌុល និងបង្ហាញថ្នាំងដែលមិនមានការតភ្ជាប់ចូល។ លទ្ធផល​គឺ​ជា​ការ​ធ្វើ​សវនកម្ម​ច្បាស់លាស់​នៃ​អ្វី​គ្រប់​យ៉ាង​នៅ​ក្នុង​មូលដ្ឋាន​កូដ​របស់​អ្នក​ដែល​អាច​ត្រូវ​បាន​លុប​ចេញ​ដោយ​សុវត្ថិភាព។

Knip.dev ធ្វើបានល្អសម្រាប់គម្រោង JavaScript និង TypeScript ហើយវាត្រូវបានគោរពយ៉ាងទូលំទូលាយនៅក្នុងសហគមន៍។ ប៉ុន្តែវាត្រូវបានសរសេរជា JavaScript ដែលមានន័យថាវាដំណើរការលើ Node.js ដែលមានន័យថាវាទទួលមរតកនូវឧបសគ្គនៃដំណើរការតែមួយរបស់ Node នៅពេលធ្វើការឆ្លងកាត់ប្រព័ន្ធឯកសារទ្រង់ទ្រាយធំ និងការវិភាគនិមិត្តសញ្ញា។ សម្រាប់គម្រោងដែលមានឯកសារចំនួន 500 វាល្អណាស់។ សម្រាប់គម្រោងដែលមានឯកសារចំនួន 50,000 ដែលជាប្រភេទ monorepo ដែលផ្តល់ថាមពលដល់ផលិតផល SaaS របស់សហគ្រាស - ការវិភាគអាចចំណាយពេលប៉ុន្មាននាទី។ ហើយនាទី បំពង់ CI/CD ទំនើបដំណើរការនៅ cadence គឺជាអ្នកចែកចាយ។

Why Go ផ្លាស់ប្តូរការគណនា

Go ត្រូវបានរចនាឡើងតាំងពីមូលដ្ឋានសម្រាប់ប្រភេទនៃបន្ទុកការងារដែលការវិភាគភាពអាស្រ័យទាមទារ៖ ឯកសារ I/O រហ័ស ឯកសារដើមស្របគ្នាដ៏ល្អ និងពេលវេលាដំណើរការតិចតួចបំផុត។ កន្លែងដែល Node.js ដំណើរការកិច្ចការមួយក្នុងពេលតែមួយលើខ្សែតែមួយ ហើយពឹងផ្អែកលើការហៅត្រឡប់មកវិញ និងការសន្យាចំពោះភាពស្របគ្នាក្លែងក្លាយ Go អាចបង្កើតនូវ goroutines រាប់ពាន់ដែលប្រតិបត្តិយ៉ាងពិតប្រាកដស្របគ្នានៅទូទាំងស្នូលស៊ីភីយូដែលមានទាំងអស់។ សម្រាប់កិច្ចការដែលពាក់ព័ន្ធនឹងការអានឯកសាររាប់រយ ញែក ASTs របស់ពួកគេ និងបង្កើតក្រាហ្វនៃទំនាក់ទំនងនិមិត្តសញ្ញា ភាពខុសគ្នានៃស្ថាបត្យកម្មនេះបកប្រែដោយផ្ទាល់ទៅជាការអនុវត្តនាឡិកាជញ្ជាំង។

ការបង្កើនល្បឿន 20x ដែលទាមទារដោយ Rev-dep មិនមែនជាវេទមន្តទេ វាជាអ្វីដែលកើតឡើងនៅពេលអ្នកផ្គូផ្គងភាសាត្រឹមត្រូវទៅនឹងបញ្ហាត្រឹមត្រូវ។ ធម្មជាតិដែលបានចងក្រងរបស់ Go ក៏មានន័យថាគ្មានការពិន័យកំដៅ JIT ដែរ។ ចាប់ពីការចាប់ផ្តើមត្រជាក់រហូតដល់ការវិភាគពេញលេញ គោលពីរ Go កំពុងដំណើរការនៅពេលដំណើរការជិតដល់កំពូល។ ភាពពាក់ព័ន្ធជាក់ស្តែងគឺថាការវិភាគដែលបានចំណាយពេល 90 វិនាទីនៅក្នុងឧបករណ៍ដែលមានមូលដ្ឋានលើ Node អាចបញ្ចប់ក្នុងរយៈពេលតិចជាង 5 វិនាទីក្នុងសមមូល Go ដែលត្រូវបានអនុវត្តយ៉ាងល្អ។ នោះជាភាពខុសគ្នារវាងការត្រួតពិនិត្យដែលអ្នកអភិវឌ្ឍន៍រំលង ព្រោះវា "ត្រូវការជារៀងរហូត" និងមួយដែលដំណើរការលើរាល់ការប្រព្រឹត្តដោយគ្មាននរណាម្នាក់កត់សម្គាល់ពីតម្លៃលើស។

"ឧបករណ៍អ្នកអភិវឌ្ឍន៍ដ៏ល្អបំផុតគឺជាឧបករណ៍ដែលចេញពីផ្លូវ។ ប្រសិនបើឈុតវិភាគរបស់អ្នកបន្ថែម 3 នាទីទៅរាល់បំពង់ CI អ្នកអភិវឌ្ឍន៍នឹងស្វែងរកវិធីដើម្បីរំលងវា។ ល្បឿនមិនមែនជារឿងល្អទេ វាជាតម្រូវការជាមុនសម្រាប់ការអនុម័ត។"

ករណីអាជីវកម្មសម្រាប់អនាម័យ Codebase

កូដ Dead មិនមែនគ្រាន់តែជាបញ្ហាសោភ័ណភាពរបស់អ្នកអភិវឌ្ឍន៍ប៉ុណ្ណោះទេ វាមានផលវិបាកអាជីវកម្មជាក់ស្តែងដែលផ្សំឡើងតាមពេលវេលា។ ពិចារណា​ថាតើ​មូលដ្ឋាន​កូដ​ដែល​បំប៉ោង​ការពិត​ត្រូវ​ចំណាយ​លើ​ស្ថាប័ន​អ្វីខ្លះ៖

  • រយៈពេលសាងសង់យូរជាង ដែលបន្ថយល្បឿននៃបំពង់ដាក់ពង្រាយ និងកាត់បន្ថយចំនួននៃការចេញផ្សាយដែលក្រុមអាចដឹកជញ្ជូនដោយសុវត្ថិភាពក្នុងមួយសប្តាហ៍
  • បន្ទុកការយល់ដឹងកាន់តែខ្ពស់ សម្រាប់វិស្វករដែលកំពុងដំណើរការ ដែលត្រូវតែចំណាយពេលជាច្រើនសប្តាហ៍ដើម្បីសម្គាល់គំរូសកម្មពីអ្នកដែលបោះបង់ចោល
  • ទំហំកញ្ចប់កើនឡើង ដែលប៉ះពាល់ដល់ដំណើរការកម្មវិធី ជាពិសេសនៅក្នុងកម្មវិធីគេហទំព័រ ដែលរាល់គីឡូបៃប៉ះពាល់ដល់ពេលវេលាផ្ទុក និងអត្រាការបម្លែង
  • ការពង្រីកផ្ទៃសុវត្ថិភាព — កូដស្លាប់ដែលនៅតែមានភាពអាស្រ័យនៅតែជាវ៉ិចទ័រសម្រាប់ភាពងាយរងគ្រោះនៅក្នុងកញ្ចប់ទាំងនោះ
  • Test suite bloat ដែលការធ្វើតេស្តសម្រាប់មុខងារដែលបានដកចេញនៅតែបន្តដំណើរការ ប្រើប្រាស់ CI នាទី និងម្តងម្កាលបរាជ័យក្នុងវិធីដែលច្រឡំ
  • សញ្ញាស្មុគ្រស្មាញមិនពិត ដែលធ្វើឲ្យការសម្រេចចិត្តស្ថាបត្យកម្មកាន់តែពិបាក ព្រោះវាមិនច្បាស់ថាអ្វីជាបន្ទុក និងអ្វីដែលជាវត្ថុសក្តិសិទ្ធិ

ការសិក្សាឆ្នាំ 2023 ដោយក្រុម DevOps Research and Assessment (DORA) បានរកឃើញថា ក្រុមដែលមានការអនុវត្តគុណភាពកូដខ្លាំង រួមទាំងការដកកូដដែលស្លាប់ជាទៀងទាត់ ដឹកជញ្ជូន 2.4 ដងញឹកញាប់ជាង និងមាន អត្រាបរាជ័យក្នុងការផ្លាស់ប្តូរ 7 ដង ជាងក្រុមដែលអនុញ្ញាតឱ្យបំណុលបច្ចេកទេសកកកុញ។ ការជាប់ទាក់ទងគ្នាមិនមែនចៃដន្យទេ។ មូលដ្ឋាន​កូដ​ស្អាត​គឺ​ងាយ​ស្រួល​ក្នុង​ការ​វែកញែក ងាយ​ស្រួល​ក្នុង​ការ​សាកល្បង និង​ងាយ​ស្រួល​ក្នុង​ការ​ផ្លាស់​ប្តូរ​ដោយ​សុវត្ថិភាព។

សម្រាប់អាជីវកម្មដែលបង្កើតនៅលើវេទិកាដូចជា Mewayz — ដែលផ្តល់ថាមពលដល់អ្នកប្រើប្រាស់ចំនួន 138,000 នាក់នៅទូទាំង 207 ម៉ូឌុលអាជីវកម្មផ្សេងៗគ្នាចាប់ពី CRM និងបញ្ជីប្រាក់បៀវត្សរ៍រហូតដល់ការគ្រប់គ្រងកងនាវា និងឧបករណ៍ភ្ជាប់ក្នុងជីវសាស្រ្ត — សុខភាពកូដមូលដ្ឋានបានបង្កើនចំនួនភាគហ៊ុន។ នៅពេលដែលវេទិការបស់អ្នកលាតសន្ធឹងលើដែនមុខងារជាច្រើន ផ្ទៃនៃការរួមបញ្ចូលរវាងម៉ូឌុលគឺធំសម្បើម។ ការនាំចេញដែលមិនបានប្រើនៅក្នុងម៉ូឌុលស្នូលអាចបង្កើតការរំពឹងទុកមិនពិតសម្រាប់ម៉ូឌុលដែលពឹងផ្អែក បង្កឱ្យមានការបង្ហាញឡើងវិញដែលមិនចាំបាច់នៅក្នុងស្រទាប់ UI និងធ្វើឱ្យស្មុគស្មាញដល់ក្រាហ្វភាពអាស្រ័យតាមរបៀបដែលធ្វើឱ្យការផ្លាស់ប្តូរនាពេលអនាគតមានគ្រោះថ្នាក់។

ការរួមបញ្ចូលការវិភាគភាពអាស្រ័យទៅក្នុងលំហូរការងារនៃការអភិវឌ្ឍន៍ទំនើប

ថាមពលពិតប្រាកដនៃការប្រើប្រាស់ឧបករណ៍រហ័សដូចជា Rev-dep មិនមែនជាការសម្អាតតែម្តងគត់ដែលវាអនុញ្ញាតនោះទេ វាគឺជាសមត្ថភាពក្នុងការដំណើរការការវិភាគជាបន្តបន្ទាប់ជាផ្នែកនៃវដ្តនៃការអភិវឌ្ឍន៍ធម្មតារបស់អ្នក។ នៅពេលដែលការស្កេនលេខកូដដែលស្លាប់ត្រូវចំណាយពេល 4 វិនាទីជំនួសឱ្យ 4 នាទី អ្នកអាចបន្ថែមវាទៅទំពក់មុនការប្តេជ្ញាចិត្តរបស់អ្នក។ នៅពេលដែលវាចំណាយពេល 4 វិនាទីជំនួសឱ្យ 4 នាទី បំពង់ CI របស់អ្នកអាចបរាជ័យសំណើរទាញដែលណែនាំការនាំចេញដែលមិនប្រើថ្មីជាជាងអនុញ្ញាតឱ្យពួកគេប្រមូលផ្តុំដោយស្ងៀមស្ងាត់។

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

ការផ្លាស់ប្តូរនេះពី "ព្រឹត្តិការណ៍សម្អាតប្រចាំត្រីមាស" ទៅ "ច្រកទ្វារគុណភាពបន្ត" គឺស្រដៀងគ្នាទៅនឹងអ្វីដែលបានកើតឡើងនៅពេលដែល linters មានល្បឿនលឿនគ្រប់គ្រាន់ដើម្បីដំណើរការលើរាល់ការចុចគ្រាប់ចុចនៅក្នុង IDE ។ មុនពេល ESLint ដំណើរការក្នុងពេលវេលាជាក់ស្តែង រចនាប័ទ្មកូដត្រូវបានអនុវត្តដោយការពិនិត្យមើលកូដតាមកាលកំណត់។ បន្ទាប់​មក វា​បាន​ក្លាយ​ទៅ​ជា​បរិយាកាស — ជា​ផ្នែក​មួយ​នៃ​ការ​ផ្ដល់​មតិ​ត្រឡប់​ដែល​អ្នក​អភិវឌ្ឍន៍​បាន​ជួប​ក្នុង​ពេល​សរសេរ​កូដ មិន​មែន​បន្ទាប់​ពី​នោះ​ទេ។ ការវិភាគភាពអាស្រ័យរហ័សអាចបង្កើតសម្ពាធគុណភាពជុំវិញដូចគ្នាជុំវិញកូដស្លាប់។

ការ​រៀបចំ​ដំណើរការ​ការងារ​នេះ​ជា​ធម្មតា​មាន​ធាតុផ្សំ​បី៖

  1. ការវិភាគមូលដ្ឋាន៖ ដំណើរការឧបករណ៍ប្រឆាំងនឹងមូលដ្ឋានកូដបច្ចុប្បន្នរបស់អ្នក ដើម្បីយល់ពីមាត្រដ្ឋាននៃកូដស្លាប់ដែលមានស្រាប់។ កុំព្យាយាមជួសជុលអ្វីៗទាំងអស់ក្នុងពេលតែមួយ — triage តាមម៉ូឌុល និងកំណត់អាទិភាពដោយហានិភ័យ។
  2. ការអនុវត្ត CI៖ បន្ថែមការវិភាគទៅក្នុងបំពង់បង្ហូរប្រេងរបស់អ្នកជាមួយនឹងកម្រិតមួយ — បរាជ័យលើការនាំចេញដែលមិនប្រើថ្មីដែលបានណែនាំ ប៉ុន្តែកុំបរាជ័យលើការនាំចេញដែលមានស្រាប់រហូតដល់អ្នកបានសម្អាតពួកវា។
  3. ការរត់ការសម្អាតដែលបានកំណត់ពេល៖ ប្រើលទ្ធផលរបស់ឧបករណ៍ដើម្បីណែនាំការងារសម្អាតជាប្រចាំ តាមដានចំនួនកូដដែលស្លាប់ជាមាត្រដ្ឋានសុខភាពក្រុមតាមពេលវេលា។

អ្វីដែល Go Tooling Renaissance Signals សម្រាប់អ្នកសាងសង់ SaaS

Rev-dep គឺជាផ្នែកមួយនៃគំរូទូលំទូលាយនៅក្នុងឧបករណ៍អ្នកអភិវឌ្ឍន៍៖ ជម្រើសដែលមានប្រសិទ្ធភាពខ្ពស់ចំពោះឧបករណ៍ JavaScript ដែលបានបង្កើតឡើង ដែលបង្កើតឡើងក្នុង Go ឬ Rust កំពុងលេចឡើងនៅគ្រប់ប្រភេទ។ Biome បានជំនួស ESLint និង Prettier សម្រាប់ក្រុមជាច្រើន។ Turbopack និង Rspack កំពុងញ៉ាំអាហារថ្ងៃត្រង់របស់ Webpack ។ Bun កំពុងប្រកួតប្រជែងជាមួយ Node.js ខ្លួនឯង។ ប្រធានបទទូទៅគឺថាឧបករណ៍ទាំងនេះមិនត្រឹមតែផ្តល់នូវការកែលម្អបន្ថែមប៉ុណ្ណោះទេ ពួកគេបានផ្តល់នូវការកែលម្អមុខងារជាជំហានៗ ដែលផ្លាស់ប្តូរអ្វីដែលជាការអនុវត្តជាក់ស្តែង។

សម្រាប់ក្រុមហ៊ុន SaaS ដែលបង្កើតផលិតផលពហុម៉ូឌុលស្មុគស្មាញ ការកែច្នៃឧបករណ៍នេះមានផលប៉ះពាល់ផ្ទាល់ចំពោះល្បឿនវិស្វកម្ម។ ស្ថាបត្យកម្ម 207-module របស់ Mewayz ដែលលាតសន្ធឹងពីអ្វីៗគ្រប់យ៉ាងពីធនធានមនុស្ស និងបញ្ជីប្រាក់បៀវត្សរ៍ដល់ប្រព័ន្ធកក់ និងផ្ទាំងគ្រប់គ្រងការវិភាគ - តំណាងឱ្យប្រភេទនៃមូលដ្ឋានកូដដែលមានទំនាក់ទំនងគ្នាយ៉ាងពិតប្រាកដ ដែលការវិភាគភាពអាស្រ័យលឿន និងត្រឹមត្រូវក្លាយជាការសំខាន់ក្នុងប្រតិបត្តិការ។ នៅពេលដែលការផ្លាស់ប្តូរទៅម៉ូឌុលឧបករណ៍ប្រើប្រាស់រួមគ្នាអាចទ្រឹស្ដីតាមទ្រឹស្ដីតាមរយៈម៉ូឌុលមុខងាររាប់សិប ការដែលអាចមើលឃើញជិតភ្លាមៗទៅក្នុងក្រាហ្វភាពអាស្រ័យជាក់ស្តែងមិនត្រឹមតែងាយស្រួលប៉ុណ្ណោះទេ វាជាប្រភេទនៃហេដ្ឋារចនាសម្ព័ន្ធដែលការពារឧប្បត្តិហេតុផលិតកម្មថ្លៃៗ។

សមត្ថភាពក្នុងការឆ្លើយថា "អ្វីដែលពិតជាប្រើមុខងារនេះ" ក្នុងរយៈពេលតិចជាងប្រាំវិនាទី ជាជាងប្រាំនាទីផ្លាស់ប្តូររបៀបដែលវិស្វករធ្វើការសម្រេចចិត្ត។ វាកាត់បន្ថយការចំណាយលើការស៊ើបអង្កេត ដែលមានន័យថាវិស្វករស៊ើបអង្កេតញឹកញាប់ជាងមុន ដែលមានន័យថាពួកគេធ្វើការសម្រេចចិត្តបានប្រសើរជាងមុន។ នេះ​ជា​ផល​ចំណេញ​រួម​លើ​ការ​វិនិយោគ​ក្នុង​ឧបករណ៍​រហ័ស​ដែល​ច្រើន​តែ​ត្រូវ​បាន​គេ​មើល​រំលង​នៅ​ពេល​ដែល​ស្ថាប័ន​គិត​អំពី​ការ​ចំណាយ​ផលិតភាព​របស់​អ្នក​អភិវឌ្ឍន៍។

ការធ្វើឱ្យ Dead Code លុបបំបាត់ជាផ្នែកមួយនៃវប្បធម៌វិស្វកម្មរបស់អ្នក

បច្ចេកវិទ្យាតែមួយមិនបង្កើតកូដមូលដ្ឋានស្អាតទេ វប្បធម៌ធ្វើ។ ឧបករណ៍ដូចជា Rev-dep ផ្តល់នូវសមត្ថភាព ប៉ុន្តែការបង្វែរសមត្ថភាពនោះទៅជាការអនុវត្តជាប់លាប់ទាមទារការប្តេជ្ញាចិត្តរបស់អង្គការ។ ក្រុមដែលមានប្រសិទ្ធភាពបំផុតព្យាបាលម៉ែត្រកូដដែលស្លាប់តាមរបៀបដូចគ្នាដែលពួកគេព្យាបាលការគ្របដណ្តប់លើការធ្វើតេស្ត៖ ជាសូចនាករដែលអាចមើលឃើញ និងតាមដាននៃសុខភាពមូលដ្ឋានកូដដែលត្រូវបានពិនិត្យនៅក្នុងការប្រជុំវិស្វកម្ម ហើយត្រូវបានបញ្ចូលទៅក្នុងផែនការរត់ប្រណាំង។

ការអនុវត្តវប្បធម៌ជាក់លាក់មួយចំនួនដែលដំណើរការបានល្អរួមមានការកំណត់ "ថ្ងៃលុបកូដ" — ព្រឹត្តិការណ៍តាមកាលកំណត់ដែលគោលដៅច្បាស់លាស់គឺដើម្បីលុបកូដជាជាងបន្ថែមវា។ Netlify មានភាពល្បីល្បាញបានលេងល្បែងនេះដោយការដំណើរការតារាងពិន្ទុតាមដានបន្ទាត់សុទ្ធដែលត្រូវបានលុប។ Stripe បានសរសេរជាសាធារណៈអំពីការអនុវត្តរបស់ពួកគេក្នុងការព្យាបាលការលុបកូដជាការរួមចំណែកផ្នែកវិស្វកម្មលំដាប់ទីមួយ ដែលមានតម្លៃស្មើរនឹងការងារលក្ខណៈពិសេស។ ការផ្លាស់ប្តូរផ្នត់គំនិតដែលទាមទារគឺការទទួលស្គាល់ថាកូដដ៏ល្អបំផុតគឺជាកូដដែលមិនមាន៖ រាល់បន្ទាត់ដែលអ្នកមិនសរសេរគឺជាបន្ទាត់ដែលអ្នកមិនចាំបាច់រក្សា សាកល្បង បំបាត់កំហុស ឬពន្យល់អ្នកជួលថ្មី

សម្រាប់ក្រុមហ៊ុនផលិតផលដែលគ្រប់គ្រងប្រតិបត្តិការអាជីវកម្មស្មុគ្រស្មាញ ការប៉ារ៉ាឡែលនៅខាងក្រៅវិស្វកម្មគឺមានការណែនាំដូចគ្នា។ វិន័យដូចគ្នាដែលធ្វើឱ្យកូដមូលដ្ឋានមានសុខភាពល្អ - សវនកម្មទៀងទាត់ ភាពជាម្ចាស់ច្បាស់លាស់ ការលុបបំបាត់របស់ដែលគ្មាននរណាម្នាក់ប្រើ - ធ្វើឱ្យដំណើរការអាជីវកម្មមានសុខភាពល្អផងដែរ។ វេទិកាដូចជា Mewayz ត្រូវបានបង្កើតឡើងយ៉ាងជាក់លាក់ ដើម្បីផ្តល់ឱ្យអាជីវកម្មនូវប្រភេទនៃភាពច្បាស់លាស់នៃប្រតិបត្តិការ៖ ទិដ្ឋភាពរួមអំពីឧបករណ៍ណាមួយដែលកំពុងត្រូវបានប្រើប្រាស់ លំហូរការងារកំពុងបង្កើតតម្លៃ និងកន្លែងដែលទម្ងន់បាត់បង់របស់អង្គការកំពុងកកកុញ។ មិនថាអ្នកកំពុងធ្វើសវនកម្មការនាំចេញកម្មវិធីដែលមិនបានប្រើ ឬដំណើរការអាជីវកម្មដែលមិនប្រើទេ វិន័យមូលដ្ឋានគឺដូចគ្នាបេះបិទ។

ឧបករណ៍កាន់តែលឿន រង្វិលជុំមតិត្រឡប់កាន់តែតឹងរ៉ឹង ហើយក្រុមដែលវិនិយោគលើហេដ្ឋារចនាសម្ព័ន្ធអនាម័យ codebase សព្វថ្ងៃនេះកំពុងបង្កើតអត្ថប្រយោជន៍រួមដែលនឹងផ្តល់ភាគលាភសម្រាប់ឆ្នាំ។ Rev-dep និងក្រុមអ្នកអភិវឌ្ឍន៍ឧបករណ៍ Go-powered របស់វាមិនត្រឹមតែជាគំរូដ៏គួរឱ្យចាប់អារម្មណ៍ប៉ុណ្ណោះទេ វាគឺជាស្រទាប់ហេដ្ឋារចនាសម្ព័ន្ធដែលធ្វើឱ្យល្បឿនកម្មវិធីប្រកបដោយនិរន្តរភាពអាចធ្វើទៅបាន។ ហើយនៅក្នុងពិភពលោកដែលល្បឿននៃការធ្វើឡើងវិញគឺជាអត្ថប្រយោជន៍ប្រកួតប្រជែងចម្បងសម្រាប់អាជីវកម្មផ្នែកទន់ នោះមិនមែនជាកង្វល់ខាងគ្រឿងកុំព្យូទ័រនោះទេ។ វាជាហ្គេមទាំងមូល។

សំណួរដែលគេសួរញឹកញាប់

តើអ្វីធ្វើឱ្យ Rev-dep លឿនជាង knip.dev?

Rev-dep ត្រូវ​បាន​បង្កើត​ឡើង​ក្នុង Go ជា​ភាសា​ប្រព័ន្ធ​ដែល​បាន​ចងក្រង​ដែល​ត្រូវ​បាន​ធ្វើ​ឱ្យ​ប្រសើរ​ឡើង​សម្រាប់​ការ​ស្រប​គ្នា​និង​ល្បឿន​ប្រតិបត្តិ​ឆៅ ចំណែក knip.dev ដំណើរការ​លើ Node.js ។ ភាពខុសគ្នានៃស្ថាបត្យកម្មនេះអនុញ្ញាតឱ្យ Rev-dep វិភាគក្រាហ្វភាពអាស្រ័យ និងរកឃើញកូដស្លាប់រហូតដល់ 20 ដងលឿនជាងមុន។ សម្រាប់ monorepos ធំ ឬ codebases ស្មុគ្រស្មាញ — ដូចជាស្ថាបត្យកម្ម 207-module ដែលផ្តល់ថាមពលដល់ប្រព័ន្ធប្រតិបត្តិការអាជីវកម្មរបស់ Mewayz នៅ app.mewayz.com — គម្លាតនៃការអនុវត្តបានបកប្រែទៅជាពេលវេលាជាក់ស្តែងដែលបានរក្សាទុកនៅលើរាល់ដំណើរការ CI ។

តើ​គម្រោង​រីកចម្រើន​ធម្មតា​មាន​កូដ​ស្លាប់​ប៉ុន្មាន?

ការសិក្សា និងរបាយការណ៍សង្ខេបពីក្រុមវិស្វកម្ម ណែនាំថា មូលដ្ឋានកូដចាស់ទុំអាចផ្ទុកបានគ្រប់ទីកន្លែងចាប់ពី 10% ទៅ 35% កូដដែលមិនប្រើ ឬមិនអាចទៅដល់បាន។ សមាសធាតុនៃបញ្ហានៅពេលទំហំក្រុម — លក្ខណៈពិសេសត្រូវបានបដិសេធ ការផ្លាស់ប្តូរ APIs និងម៉ូឌុលត្រូវបានបោះបង់ចោលដោយគ្មានការសម្អាត។ វេទិកាដូចជា Mewayz ដែលបង្រួបបង្រួមម៉ូឌុលអាជីវកម្មជាង 207 ទៅក្នុងប្រព័ន្ធប្រតិបត្តិការតែមួយ $19/ខែ ពឹងផ្អែកយ៉ាងខ្លាំងលើការរកឃើញកូដស្លាប់ជាប្រព័ន្ធ ដើម្បីរក្សាមូលដ្ឋានកូដឱ្យនៅដដែល និងអាចរក្សាបាន។

តើ Rev-dep សាកសមសម្រាប់ក្រុមដែលមិនប្រើ JavaScript ឬ TypeScript ដែរឬទេ?

Rev-dep បច្ចុប្បន្នកំពុងផ្តោតលើប្រព័ន្ធអេកូ JavaScript និង TypeScript ដែលធ្វើឱ្យវាក្លាយជាជម្រើសផ្ទាល់សម្រាប់ knip.dev សម្រាប់បរិស្ថានទាំងនោះ។ ការគាំទ្រសម្រាប់ភាសាបន្ថែមអាចពង្រីកនៅពេលដែលគម្រោងចាស់ទុំ។ ប្រសិនបើក្រុមរបស់អ្នកបង្កើតផលិតផលដែលមានមូលដ្ឋានលើបណ្តាញ ឬឧបករណ៍ SaaS — ស្រដៀងទៅនឹងរបៀបដែល Mewayz ផ្តល់ប្រព័ន្ធប្រតិបត្តិការអាជីវកម្មពេញលេញរបស់វានៅ app.mewayz.com — ហើយជង់របស់អ្នកគឺ JS/TS-heavy Rev-dep មានតម្លៃណាស់ក្នុងការវាយតម្លៃជាផ្នែកមួយនៃក្រុមអ្នកអភិវឌ្ឍន៍របស់អ្នកនៅថ្ងៃនេះ។

តើខ្ញុំអាចបញ្ចូល Rev-dep ទៅក្នុងបំពង់បង្ហូរ CI/CD ដែលមានស្រាប់របស់ខ្ញុំបានទេ?

បាទ។ Rev-dep ត្រូវបានរចនាឡើងជាឧបករណ៍ CLI ដែលធ្វើឱ្យវាត្រង់ក្នុងការទម្លាក់ចូលទៅក្នុងបំពង់ CI/CD ណាមួយ រួមជាមួយនឹងជំហាននៃការដាក់ស្រទាប់ និងការធ្វើតេស្តដែលមានស្រាប់របស់អ្នក។ អត្ថប្រយោជន៍នៃល្បឿនរបស់វាមានតម្លៃជាពិសេសនៅក្នុងបំពង់បង្ហូរដោយស្វ័យប្រវត្តិ ដែលរង្វិលជុំមតិត្រឡប់លឿនជាងមុនកាត់បន្ថយពេលវេលារង់ចាំរបស់អ្នកអភិវឌ្ឍន៍។ មិនថាអ្នកកំពុងដំណើរការការចាប់ផ្តើមអាជីវកម្មគ្មានខ្លាញ់ ឬគ្រប់គ្រងវេទិកាដែលមានមុខងារពេញលេញដូចជាប្រព័ន្ធប្រតិបត្តិការអាជីវកម្ម $19/ខែ របស់ Mewayz ការរួមបញ្ចូលការវិភាគកូដដែលស្លាប់ទៅក្នុងបំពង់បង្ហូរប្រេងរបស់អ្នកជួយពង្រឹងអនាម័យមូលដ្ឋានកូដនៅរាល់ការបញ្ចូលគ្នា។