បង្ហាញ HN: Rev-dep – 20x លឿនជាង knip.dev បង្កើតជំនួសនៅក្នុង Go
មតិយោបល់
Mewayz Team
Editorial Team
ពន្ធដែលលាក់នៅលើគ្រប់ក្រុមកម្មវិធីដែលកំពុងរីកចម្រើន
រាល់គម្រោងកម្មវិធីដែលនៅរស់បានយូរគ្រប់គ្រាន់ ទីបំផុតប្រឈមនឹងវិបត្តិស្ងប់ស្ងាត់ដូចគ្នា៖ មូលដ្ឋានកូដចាប់ផ្តើមរីកចម្រើនលឿនជាងក្រុមអាចយល់បាន។ មុខងារដែលគ្មាននរណាហៅចេញ ការនាំចេញដែលត្រូវបានបង្កើតឡើងសម្រាប់លក្ខណៈពិសេសដែលបានដឹកជញ្ជូនក្នុងឆ្នាំ 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 ដំណើរការក្នុងពេលវេលាជាក់ស្តែង រចនាប័ទ្មកូដត្រូវបានអនុវត្តដោយការពិនិត្យមើលកូដតាមកាលកំណត់។ បន្ទាប់មក វាបានក្លាយទៅជាបរិយាកាស — ជាផ្នែកមួយនៃការផ្ដល់មតិត្រឡប់ដែលអ្នកអភិវឌ្ឍន៍បានជួបក្នុងពេលសរសេរកូដ មិនមែនបន្ទាប់ពីនោះទេ។ ការវិភាគភាពអាស្រ័យរហ័សអាចបង្កើតសម្ពាធគុណភាពជុំវិញដូចគ្នាជុំវិញកូដស្លាប់។
ការរៀបចំដំណើរការការងារនេះជាធម្មតាមានធាតុផ្សំបី៖
- ការវិភាគមូលដ្ឋាន៖ ដំណើរការឧបករណ៍ប្រឆាំងនឹងមូលដ្ឋានកូដបច្ចុប្បន្នរបស់អ្នក ដើម្បីយល់ពីមាត្រដ្ឋាននៃកូដស្លាប់ដែលមានស្រាប់។ កុំព្យាយាមជួសជុលអ្វីៗទាំងអស់ក្នុងពេលតែមួយ — triage តាមម៉ូឌុល និងកំណត់អាទិភាពដោយហានិភ័យ។
- ការអនុវត្ត CI៖ បន្ថែមការវិភាគទៅក្នុងបំពង់បង្ហូរប្រេងរបស់អ្នកជាមួយនឹងកម្រិតមួយ — បរាជ័យលើការនាំចេញដែលមិនប្រើថ្មីដែលបានណែនាំ ប៉ុន្តែកុំបរាជ័យលើការនាំចេញដែលមានស្រាប់រហូតដល់អ្នកបានសម្អាតពួកវា។
- ការរត់ការសម្អាតដែលបានកំណត់ពេល៖ ប្រើលទ្ធផលរបស់ឧបករណ៍ដើម្បីណែនាំការងារសម្អាតជាប្រចាំ តាមដានចំនួនកូដដែលស្លាប់ជាមាត្រដ្ឋានសុខភាពក្រុមតាមពេលវេលា។
អ្វីដែល 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 ការរួមបញ្ចូលការវិភាគកូដដែលស្លាប់ទៅក្នុងបំពង់បង្ហូរប្រេងរបស់អ្នកជួយពង្រឹងអនាម័យមូលដ្ឋានកូដនៅរាល់ការបញ្ចូលគ្នា។
We use cookies to improve your experience and analyze site traffic. Cookie Policy