paint-brush
Code Smell 293 - U Fanele U Papalata Ku Engetela isTesting kumbe Mijeko yo Fanahi@mcsee
Matimu lamantshwa

Code Smell 293 - U Fanele U Papalata Ku Engetela isTesting kumbe Mijeko yo Fana

hi Maximiliano Contieri3m2025/03/06
Read on Terminal Reader

Ku leha ngopfu; Ku hlaya

Loko u engetela ti flag to fana na isTesting, u hlanganisa testing na production code. Leswi swi tumbuluxa tindlela leti fihliweke leti tirhaka ntsena eka swikambelo.
featured image - Code Smell 293 - U Fanele U Papalata Ku Engetela isTesting kumbe Mijeko yo Fana
Maximiliano Contieri HackerNoon profile picture

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.

Swiphiqo 😔

  • Ku tekeriwa enhlokweni loku vupfaka
  • Ku thyakisa ka khodi leyi nga riki ya Mabindzu
  • Khodi ya Fragile
  • Mahanyelo lama nga fambisaniki
  • Swilo leswi titshegeke hi swona leswi fihliweke
  • Ku lulamisa swihoxo swo tika
  • Mijeko ya Boolean
  • Swikambelo leswi nga tshembiwiki
  • Khodi leyi titshegeke hi vuhumelerisi

Switshuxo 😃

  1. Susa mahanyelo Ifs
  2. Tirhisa ku cheriwa ka ku titshega
  3. Modela vukorhokeri bya le handle (U nga va hlekisi ) .
  4. Swivumbeko leswi hambaneke
  5. Hlawula logic ya xikambelo
  6. Hlayisa mindzilakano ya mahanyelo leyi tengeke

Ku tlheriseriwa ka swilo ⚙️

Mongo 💬

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.

Xikombiso xa Khodi 📖

Swi hoxile ❌

 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); } }

Kunene 👉

 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); } }

Ku kumiwa 🔍

  • [x] Xiyenge xa Xiothomethi

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.

Tags 🏷️

  • Ku kamberiwa

Xiyimo xa 🔋

  • [x] Xikarhi xa le xikarhi

Why Bijection Yiri Ya Nkoka 🗺️

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 .

Xitukulwana xa AI 🤖

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.

Ku Kuma AI 🥃

Switirhisiwa swa AI swi nga khoma nun’hwelo lowu loko u swi lulamisa ku flag conditional logic leyi sekeriweke eka swiyimo swo kambela.

Va Ringeta! 🛠

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

ChatGPT ya mbulavurisano

ChatGPT ya mbulavurisano

Claude

Claude

Ku pfilunganyeka

Ku pfilunganyeka

Muchayeri wa xihahampfhuka xa le henhla

Muchayeri wa xihahampfhuka xa le henhla

Gemini

Gemini

DeepSeek

DeepSeek

Meta AI

Meta AI

Qwen

Qwen

Mahetelelo 🏁

Papalata ku tirhisa mimfungho ya isTesting .


Tirhisa dependency injection naku modela tindzhawu ku hlayisa test na production logic swihambanile.

Vuxaka 👩 ❤️ 💋 👨

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

https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun’hweriso-swa-khodi-ya-wena-xiphemu-vi-cmj31om

Ku tiyimelela 📘

Code Smells i mavonelo ya mina .

Swikweleti 🙏

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.


L O A D I N G
. . . comments & more!

About Author

Maximiliano Contieri HackerNoon profile picture
Maximiliano Contieri@mcsee
I’m a sr software engineer specialized in Clean Code, Design and TDD Book "Clean Code Cookbook" 500+ articles written

HANG TAGS

XITLHOKOVETSELO LEXI XI NYIKERIWE EKA...