Architecture Decision Record

Active theme: Light

← ឧទាហរណ៍កំណត់ត្រាការសម្រេចចិត្ត

កំណត់ត្រាការសម្រេចចិត្តខាងស្ថាបត្យកម្ម៖ ភាសាសរសេរកម្មវិធី Rust

លេខការសម្រេចចិត្ត៖ AR-001

ចំណងជើងការសម្រេចចិត្ត៖ ការទទួលយកភាសាសរសេរកម្មវិធី Rust

កាលបរិច្ឆេទ៖ 1 ធ្នូ 2021

ស្ថានភាព៖ បានទទួលយក

សេចក្តីថ្លែងបញ្ហា

នៅពេលយើងបន្តអភិវឌ្ឍកម្មវិធី យើងបានសង្កេតឃើញថាវាកាន់តែពិបាកក្នុងការកាត់បន្ថយភាពងាយរងគ្រោះផ្នែកសុវត្ថិភាពដែលអាចកើតមាន និងទប់ស្កាត់កំហុសពេលដំណើរការ។ ជាមួយភាសាសរសេរកម្មវិធីដែលមានស្រាប់ ដូចជា C និង C++ យើងនៅតែជួបបញ្ហាដូចជា buffer overflow, memory leak និងឥរិយាបថមិនកំណត់ ដែលនាំឱ្យកម្មវិធីគាំង។ យើងត្រូវការភាសាសរសេរកម្មវិធីដែលផ្តល់ការធានាសុវត្ថិភាពអង្គចងចាំ ហើយមានប្រសិទ្ធភាពគ្រប់គ្រាន់ដើម្បីគាំទ្រកម្មវិធីដែលប្រសិទ្ធភាពមានសារៈសំខាន់។

ការពិចារណា

ភាសាសរសេរកម្មវិធីជាច្រើនត្រូវបានរចនាឡើងដើម្បីដោះស្រាយបញ្ហាដែលមានស្រាប់។ ក្នុងចំណោមនោះ ភាសាសរសេរកម្មវិធី Rust បានទទួលចំណាប់អារម្មណ៍គួរឱ្យកត់សម្គាល់ពីសហគមន៍អ្នកអភិវឌ្ឍន៍ ដោយសារលក្ខណៈរចនាប្លែករបស់វា។ ការពិចារណារួមមាន៖

  1. សុវត្ថិភាពអង្គចងចាំ និងសុវត្ថិភាព

  2. ប្រសិទ្ធភាព និងភាពមានប្រសិទ្ធិផល

  3. ការគាំទ្រពីសហគមន៍ និងការទទួលយក

  4. ខ្សែកោងរៀន

  5. ឧបករណ៍ និងប្រព័ន្ធអេកូឡូស៊ី

  6. ភាពត្រូវគ្នាជាមួយប្រព័ន្ធកម្មវិធីដែលមានស្រាប់។

ឧបសគ្គ

ការទទួលយកភាសាសរសេរកម្មវិធីថ្មីតម្រូវឱ្យបណ្តុះបណ្តាលអ្នកអភិវឌ្ឍន៍ឡើងវិញ ដែលចំណាយពេលវេលា និងធនធាន។ ការរួមបញ្ចូលភាសាទៅក្នុងលំហូរការងារអភិវឌ្ឍដែលមានស្រាប់អាចជាបញ្ហាប្រឈម។ យើងត្រូវធានាភាពត្រូវគ្នាជាមួយប្រព័ន្ធដែលមានស្រាប់ ហើយជៀសវាងការផ្លាស់ប្តូរដែលបំបែកដើម្បីរក្សាបន្តភាព។

ការអនុវត្ត

  1. ក្រុមអភិវឌ្ឍន៍របស់យើងនឹងទទួលការបណ្តុះបណ្តាលដើម្បីរៀន និងស្គាល់ភាសាសរសេរកម្មវិធី Rust។

  2. យើងនឹងបង្កើតគម្រោងថ្មីដោយប្រើ Rust តាមរបៀបសាកល្បង ដើម្បីវាយតម្លៃភាពត្រូវគ្នា និងភាពសមស្របសម្រាប់គោលបំណងអភិវឌ្ឍរបស់យើង។

  3. យើងនឹងផ្លាស់ប្តូរប្រព័ន្ធដែលមានស្រាប់ដែលសរសេរជា C និង C++ ទៅ Rust ជាបណ្តើរៗ។

  4. យើងនឹងសហការជាមួយសហគមន៍ Rust ដើម្បីស្វែងយល់ឧបករណ៍ និងបណ្ណាល័យដែលមានដែលអាចបង្កើនលំហូរការងារអភិវឌ្ឍរបស់យើង។

  5. យើងនឹងតាមដានប្រសិទ្ធភាពរបស់ Rust ហើយប្រៀបធៀបវាជាមួយប្រសិទ្ធភាពនៃភាសាសរសេរកម្មវិធីដែលមានស្រាប់ជាទៀងទាត់។

  6. យើងនឹងទទួលយកវិធីសាស្ត្ររយៈពេលវែងដែលធ្វើតុល្យភាពរវាងថ្លៃដើមនៃការបណ្តុះបណ្តាល ការរួមបញ្ចូល និងអត្ថប្រយោជន៍ដែលអាចមាននៃការប្រើ Rust។

ហេតុផល

យើងបានទទួលយក Rust ដោយសារមុខងារប្លែករបស់វាដែលត្រូវបានរចនាឡើងដើម្បីផ្តល់ការធានាសុវត្ថិភាពអង្គចងចាំ និងសុវត្ថិភាព ខណៈរក្សាប្រសិទ្ធភាព។ ប្រព័ន្ធប្រភេទរឹងមាំរបស់ Rust ឧបករណ៍ពិនិត្យការខ្ចី (borrow checker) និងគំនិតសុវត្ថិភាពអង្គចងចាំ ធ្វើឱ្យវាសមស្របខ្លាំងសម្រាប់អភិវឌ្ឍកម្មវិធីដែលប្រសិទ្ធភាពសំខាន់ និងកម្មវិធីដែលសុវត្ថិភាពសំខាន់។ លើសពីនេះ Rust មានសហគមន៍អ្នកអភិវឌ្ឍន៍គួរឱ្យកត់សម្គាល់ ដែលអនុញ្ញាតឱ្យយើងចូលប្រើឧបករណ៍ បណ្ណាល័យ និងប្រព័ន្ធអេកូឡូស៊ីច្រើនប្រភេទដែលគាំទ្រលំហូរការងារអភិវឌ្ឍរបស់យើង។ ទោះបី Rust មានខ្សែកោងរៀន យើងជឿថាអត្ថប្រយោជន៍នៃការទទួលយក Rust លើសពីថ្លៃដើម ហើយផ្តល់ឱកាសដ៏ល្អសម្រាប់ការលូតលាស់ និងនវានុវត្តន៍ជាបន្តបន្ទាប់។

ផលវិបាក

  1. ការទទួលយក Rust នឹងតម្រូវឱ្យមានការវិនិយោគយ៉ាងសំខាន់ក្នុងពេលវេលា និងធនធានដើម្បីបណ្តុះបណ្តាលអ្នកអភិវឌ្ឍន៍ និងរួមបញ្ចូលភាសាទៅក្នុងលំហូរការងារអភិវឌ្ឍដែលមានស្រាប់។

  2. ការទទួលយក Rust អាចបង្កបញ្ហាភាពត្រូវគ្នាក្នុងកម្រិតខ្លះជាមួយប្រព័ន្ធដែលមានស្រាប់ ដែលតម្រូវឱ្យមានការកែរចនាសម្ព័ន្ធ និងការកែប្រែ។

  3. ការទទួលយក Rust អាចបង្កើនចំនួនអ្នកអភិវឌ្ឍន៍ដែលអាចរួមចំណែកដល់គម្រោងរបស់យើង ដោយទាក់ទាញអ្នកអភិវឌ្ឍន៍ Rust ដែលចង់ធ្វើការលើគម្រោងគួរឱ្យរំភើប។

  4. ការទទួលយកអាចនាំឱ្យមានប្រសិទ្ធភាព ប្រសិទ្ធិផល និងសុវត្ថិភាពប្រសើរឡើងធៀបនឹងភាសាដែលមានស្រាប់។

  5. ជាចុងក្រោយ ការទទួលយក Rust មានអត្ថប្រយោជន៍សក្តានុពលនៃការកាត់បន្ថយភាពងាយរងគ្រោះផ្នែកសុវត្ថិភាពក្នុងកម្មវិធីរបស់យើង។

ឥណទាន៖ ទំព័រនេះត្រូវបានបង្កើតដោយ ChatGPT បន្ទាប់មកកែសម្រួលសម្រាប់ភាពច្បាស់លាស់ និងទម្រង់។