ຢ່າປ່ອຍໃຫ້ລະຫັດທົດສອບເຂົ້າໄປໃນການຜະລິດ
TL;DR: ຫຼີກເວັ້ນການເພີ່ມ isTesting ຫຼືທຸງທີ່ຄ້າຍຄືກັນ.
ເມື່ອທ່ານເພີ່ມທຸງເຊັ່ນ isTesting , ທ່ານປະສົມການທົດສອບແລະລະຫັດການຜະລິດ.
ນີ້ສ້າງເສັ້ນທາງທີ່ເຊື່ອງໄວ້ທີ່ມີການເຄື່ອນໄຫວພຽງແຕ່ໃນການທົດສອບ.
ນອກຈາກນັ້ນ, ທ່ານບໍ່ໄດ້ກວມເອົາລະຫັດການຜະລິດທີ່ແທ້ຈິງ.
ທ່ານມີຄວາມສ່ຽງຕໍ່ການປະຕິບັດການທົດສອບການຂົນສົ່ງໄປສູ່ການຜະລິດ, ນໍາໄປສູ່ແມງໄມ້ແລະພຶດຕິກໍາທີ່ບໍ່ສາມາດຄາດເດົາໄດ້.
struct PaymentService { is_testing: bool, } impl PaymentService { fn process_payment(&self, amount: f64) { if self.is_testing { println!("Testing mode: Skipping real payment"); return; } println!("Processing payment of ${}", amount); } }
trait PaymentProcessor { fn process(&self, amount: f64); } struct RealPaymentProcessor; impl PaymentProcessor for RealPaymentProcessor { fn process(&self, amount: f64) { println!("Processing payment of ${}", amount); } } struct TestingPaymentProcessor; impl PaymentProcessor for TestingPaymentProcessor { // Notice this is not a mock fn process(&self, _: f64) { println!("No payment: Skipping real transaction"); } } struct PaymentService<T: PaymentProcessor> { processor: T, } impl<T: PaymentProcessor> PaymentService<T> { fn process_payment(&self, amount: f64) { self.processor.process(amount); } }
ທ່ານສາມາດກວດພົບກິ່ນນີ້ໄດ້ໂດຍການຊອກຫາທຸງທີ່ມີເງື່ອນໄຂເຊັ່ນ: isTesting , ສະພາບແວດລ້ອມ == 'ທົດສອບ' , DEBUG_MODE , ແລະສໍານວນເຊັ່ນນີ້.
ເຫຼົ່ານີ້ຊີ້ໃຫ້ເຫັນວ່າພຶດຕິກໍາການທົດສອບແມ່ນຮົ່ວໄຫລເຂົ້າໄປໃນລະຫັດການຜະລິດ.
ທ່ານຕ້ອງການການແຍກຢ່າງຊັດເຈນລະຫວ່າງການທົດສອບແລະລະຫັດການຜະລິດ.
ເມື່ອທ່ານປະສົມພວກມັນ, ທ່ານຈະທໍາລາຍ Bijection ແບບຫນຶ່ງຕໍ່ຫນຶ່ງລະຫວ່າງພຶດຕິກໍາຕົວຈິງແລະໂຄງການ.
ເນື່ອງຈາກສະພາບແວດລ້ອມເປັນຫນ່ວຍງານໃນໂລກທີ່ແທ້ຈິງ, ທ່ານຈໍາເປັນຕ້ອງສ້າງແບບຈໍາລອງໃຫ້ເຂົາເຈົ້າຢ່າງຊັດເຈນໃນ MAPPER .
ລະຫັດທີ່ສ້າງໂດຍ AI ມັກຈະແນະນໍາກິ່ນນີ້ໃນເວລາທີ່ທ່ານໃຊ້ hacks ໄວສໍາລັບການທົດສອບ.
ບາງເຄື່ອງມືແນະນໍາທຸງເຊັ່ນ isTesting ເພາະວ່າພວກເຂົາຈັດລໍາດັບຄວາມງ່າຍໃນການອອກແບບທີ່ເຫມາະສົມ.
ເຄື່ອງມື AI ສາມາດຈັບກິ່ນນີ້ໄດ້ຖ້າທ່ານຕັ້ງຄ່າພວກມັນເພື່ອທຸງເຫດຜົນຕາມເງື່ອນໄຂໂດຍອີງໃສ່ສະຖານະການທົດສອບ.
ຈືຂໍ້ມູນການ: ຜູ້ຊ່ວຍ AI ເຮັດຜິດພາດຫຼາຍ
ການເຕືອນທີ່ແນະນໍາ: ເອົາວິທີການ IsTesting ອອກແລະທົດແທນມັນໂດຍການສ້າງແບບຈໍາລອງສະພາບແວດລ້ອມ
ໂດຍບໍ່ມີການຄໍາແນະນໍາທີ່ເຫມາະສົມ | ດ້ວຍຄໍາແນະນໍາສະເພາະ |
---|---|
ຫຼີກເວັ້ນການໃຊ້ທຸງ isTesting .
ໃຊ້ສີດການເພິ່ງພາອາໄສ ແລະສ້າງແບບຈໍາລອງສະພາບແວດລ້ອມເພື່ອຮັກສາເຫດຜົນການທົດສອບ ແລະການຜະລິດແຍກຕ່າງຫາກ.
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xiii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-vi-cmj31om
ກິ່ນລະຫັດແມ່ນ ຄວາມຄິດເຫັນ ຂອງຂ້ອຍ.
ຮູບພາບໂດຍ Christian Gertenbach ໃນ Unsplash
ເມື່ອທ່ານເພີ່ມທຸງການທົດສອບ, ທ່ານທໍາລາຍຄວາມຫມັ້ນໃຈໃນການຜະລິດ.
Ward Cunningham
ບົດຄວາມນີ້ແມ່ນສ່ວນຫນຶ່ງຂອງ CodeSmell Series.