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 ມາໃຊ້ອາດເຮັດໃຫ້ເກີດບັນຫາຄວາມເຂົ້າກັນໄດ້ບາງລະດັບກັບລະບົບທີ່ມີຢູ່ ເຊິ່ງຕ້ອງມີການ refactor ແລະ ການດັດແກ້.

  3. ການນຳເອົາ Rust ມາໃຊ້ອາດເພີ່ມຈຳນວນນັກພັດທະນາທີ່ສາມາດປະກອບສ່ວນໃຫ້ໂຄງການຂອງພວກເຮົາ ໂດຍດຶງດູດນັກພັດທະນາ Rust ທີ່ຢາກເຮັດວຽກໃນໂຄງການທີ່ໜ້າຕື່ນເຕັ້ນ.

  4. ການນຳເອົາມາໃຊ້ອາດນຳໄປສູ່ປະສິດທິພາບ, ສະມັດຖະພາບ ແລະ ຄວາມປອດໄພທີ່ດີຂຶ້ນເມື່ອທຽບກັບພາສາທີ່ມີຢູ່.

  5. ສຸດທ້າຍ ການນຳເອົາ Rust ມາໃຊ້ມີຜົນປະໂຫຍດທີ່ອາດເກີດຂຶ້ນໃນການຫຼຸດຊ່ອງໂຫວ່ດ້ານຄວາມປອດໄພໃນແອັບພລິເຄຊັນຂອງພວກເຮົາ.

ເຄຣດິດ: ໜ້ານີ້ຖືກສ້າງໂດຍ ChatGPT ແລ້ວແກ້ໄຂເພື່ອຄວາມຊັດເຈນ ແລະ ຮູບແບບ.