paint-brush
Kuchinja Makiyi, Kurasika Kukoshaby@mcsee
544 kuverenga
544 kuverenga

Kuchinja Makiyi, Kurasika Kukosha

by Maximiliano Contieri4m2025/02/24
Read on Terminal Reader

Kurebesa; Kuverenga

Paunoshandisa zvinhu zvinochinjika sekiyi mukuunganidzwa kwehashi, kuzvishandura kunotyora zvibvumirano.
featured image - Kuchinja Makiyi, Kurasika Kukosha
Maximiliano Contieri HackerNoon profile picture
0-item


Kuchinja Makiyi, Kurasika Tsika


TL; DR: Paunoshandisa zvinhu zvinochinjika sekiyi mukuunganidzwa kwehashi, kuzvishandura kunotyora zvibvumirano.

Matambudziko 😔

  • Yakarasika Tsika
  • Hard Debugging
  • The Kashoma Kushamisika Principle Kutyora
  • Usingatarisirwi maitiro

Mhinduro 😃

  1. Shandisa zvinhu zvisingachinjiki sekiyi.
  2. Kupfuura zvakaenzana/hashCode zvakanaka.
  3. Shandisa minda yekupedzisira (Kana mutauro wako uchibvumira)
  4. Rehash mushure mekuchinja (Iyi inopfuura-injiniya mhinduro)

Context 💬

Paunoshandisa zvinhu zvinochinjika sekiyi muunganidzwa wehashi , uchivashandura kiyi mushure mekunge wawedzera chinhu chine hukama zvinogona kuita kuti isadzoke.


Izvi zvinoitika nekuti hashi kodhi inoshanduka uye muunganidzwa haugone kuwana chinhu chiri mubhaketi chairo.

Sample Code 📖

Wrong ❌

 class MutableKey { int id; MutableKey(int newId) { this.id = newId; } @Override public int hashCode() { return this.id; } @Override public boolean equals(Object objectToCompare) { if (this == objectToCompare) return true; MutableKey that = (MutableKey) objectToCompare; return id == that.id; } } MutableKey key = new MutableKey(42); Map<MutableKey, String> map = new HashMap<>(); map.put(key, "Yes Album"); // The key mutates key.id = 90125; // Now you cannont retrieve the album System.out.println(map.get(key)); // Output: null

Right 👉

 class ImmutableKey { private final int id; ImmutableKey(int newId) { this.id = newId; } @Override public int hashCode() { return this.id; } @Override public boolean equals(Object objectToCompare) { if (this == objectToCompare) return true; ImmutableKey that = (ImmutableKey) objectToCompare; return id == that.id; } } ImmutableKey key = new ImmutableKey(42); Map<ImmutableKey, String> map = new HashMap<>(); map.put(key, "Yes Album"); System.out.println(map.get(key)); // Output: Yes Album

Kuonekwa 🔍

  • Semi-Automatic


Iwe unogona kuona kunhuhwirira uku nekutarisa kana iwe ukashandisa zvinochinjika zvinhu sekiyi mune hash-based collections.


Zvishandiso zveotomatiki senge linters kana IDE ongororo inogona zvakare mureza mutable makiyi.

Tags 🏷️

  • Mutability

Level 🔋

  • Pakati

Nei Hurukuro Huchikosha 🗺️

Iyo bijection pakati penyika chaiyo uye chirongwa chako chakakosha nekuti inova nechokwadi chekuti zvinhu zvako zvinonyatso kuratidza hukama hwavanofanirwa kumiririra.


Munyika chaiyo, makiyi kazhinji haachinjike (semuenzaniso, maID, mazita).


Paunotevedzera makiyi aya sezvinhu zvinochinjika, unotyora tsamba imwe-kune-imwe pakati penyika chaiyo uye chirongwa chako muMAPPER .


Paunotyora iyi bijection uchishandisa makiyi anochinja, unoita kuti mepu isaenderane zvichitungamira mukutadza kudzoreredza uye maitiro asingatarisirwe.

AI Generation 🤖

Majenareta eAI anogona kugadzira kunhuwa uku kana vakagadzira zvinhu zvinoshanduka sekiyi vasingatarise zvinorehwa.


Izvi hazviwanzo kuitika sezvo majenareta eAI achitambura nekusagadzikana .

Kuonekwa kweAI 🥃

Majenareta eAI anogona kuona kunhuhwirira uku nemirayiridzo yekuongorora mashandisirwo ezvinhu zvinochinjika muhash-based collections uye mureza zvinogona kuitika.


Iwe unogona kuraira iyo AI kutsvaga makirasi asina minda yekupedzisira kana nzira dzinogadzirisa mamiriro echinhu mushure mekusikwa.

Edza Ivo! 🛠

Rangarira: Vabatsiri veAI vanoita zvikanganiso zvakawanda

Pasina Mirayiridzo Yakakodzera

NeMirayiridzo Yakananga

ChatGPT

ChatGPT

Claude

Claude

Kuvhiringidzika

Kuvhiringidzika

Copilot

Copilot

Gemini

Gemini

DeepSeek

DeepSeek

Meta AI

Meta AI

Mhedziso 🏁

Paunoshandisa zvinhu zvinochinjika sekiyi, unogona kutyora chibvumirano pakati pekiyi yenyika uye hashi kodhi.


Shandisa zvinhu zvisingashanduki kudzivirira nyaya iyi.

Hukama 👩‍❤️‍💋‍👨

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxiv

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxv

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxiv

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxvi

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xviii

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxvi

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xlii

Mamwe Ruzivo 📕

Disclaimer 📘

Code Smells ndiwo maonero angu.

Credits 🙏

Mufananidzo naKathyryn Tripp paUnsplash


Chinhu chinonyanya kukosha chechirongwa ndechekuti inozadzisa chinangwa chemushandisi wayo.


CAR Hoare



Ichi chinyorwa chikamu cheCodeSmell Series.