U nga pfumeleli khodi ya xikambelo yi nghena hi ku tumbela eka vuhumelerisi
TL;DR: Papalata ku engetela isTesting kumbe mimfungho yo fana na yona.
Loko u engetela mimfungho yo fana na isTesting , u hlanganisa ku kamberiwa na khodi ya vuhumelerisi.
Leswi swi tumbuluxa tindlela leti fihliweke leti tirhaka ntsena eka swikambelo.
Nakambe, a wu hlanganisi khodi ya vuhumelerisi bya xiviri.
U nghenisa ekhombyeni ro rhumela mahanyelo yo kambela eka vuhumelerisi, leswi yisaka eka swihoxo na mahanyelo lama nga languteriwangiki.
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); } }
U nga vona ku nun’hwela loku hi ku lava mimfungho ya xiyimo ku fana na isTesting , environment == 'test' , DEBUG_MODE , na swivulavulelo swo fana na leswi.
Leswi swikomba leswaku mahanyelo yo kambela ya khuluka eka khodi ya vuhumelerisi.
U lava ku hambanisiwa loku nga erivaleni exikarhi ka khodi ya xikambelo na ya vuhumelerisi.
Loko u swi hlanganisa, u tshova Bijection ya munhu hi xiyexe exikarhi ka mahanyelo ya xiviri na nongonoko.
Tanihi leswi tindhawu ti nga swilo swa xiviri u fanele ku ti modela hi ku kongoma eka MAPPER .
Khodi leyi endliweke hi AI yi tala ku nghenisa ku nun’hwela loku loko u tirhisa ti-hack ta xihatla leswaku u kambela.
Switirhisiwa swin’wana swi ringanyeta mimfungho yo fana na isTesting hikuva swi rhangisa ku olova ku tlula dizayini leyi faneleke.
Switirhisiwa swa AI swi nga khoma nun’hwelo lowu loko u swi lulamisa ku flag conditional logic leyi sekeriweke eka swiyimo swo kambela.
Tsundzuka: Vapfuni va AI va endla swihoxo swo tala
Xitsundzuxo lexi ringanyetiweke: Susa ndlela ya IsTesting ivi u yi siva hi ku modela tindhawu
Handle ka Swiletelo Leswi Faneleke | Hi Swiletelo Leswi Kongomeke |
---|---|
Papalata ku tirhisa mimfungho ya isTesting .
Tirhisa dependency injection naku modela tindzhawu ku hlayisa test na production logic swihambanile.
https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun’hweriso-swa-khodi-ya-wena-xiphemu-xxii
https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun’hweriso-swa-khodi-ya-wena-xiphemu-xiii
Code Smells i mavonelo ya mina .
Xifaniso hi Christian Gertenbach eka Unsplash
Loko u engetela mimfungho yo kambela, u tekela ehansi ku tshemba eka vuhumelerisi.
Ward Cunningham, ku vula ka yena
Xihloko lexi i xiphemu xa CodeSmell Series.