Ku Cinca Swilotlelo, Ku Lahlekeriwa hi Mimpimanyeto
TL;DR: Loko u tirhisa swilo leswi cinca-cincaka tanihi swilotlelo eka nhlengeleto wa hashed, ku swi cinca swi herisa tikontiraka.
Loko u tirhisa swilo leswi cinca-cincaka tanihi swilotlelo eka nhlengeleto wa hashed , ku swi cinca xilotlelo endzhaku ka loko u engetele nchumu lowu fambelanaka swi nga endla leswaku wu nga vuyiseriwi.
Leswi swi humelela hikuva khodi ya hash ya cinca naswona nhlengeleto a wu kumi nchumu eka bakiti leri faneleke.
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
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
U nga vona ku nun’hwela loku hi ku kambela loko u tirhisa swilo leswi cinca-cincaka tanihi swilotlelo eka nhlengeleto lowu sekeriweke eka hash.
Switirhisiwa swa otomatiki swo fana na ti linters kumbe ku kamberiwa ka IDE swi nga tlhela swi fungha swilotlelo leswi cinca-cincaka.
Ku hambanisiwa exikarhi ka misava ya xiviri na nongonoko wa wena i swa nkoka hikuva swi tiyisisa leswaku swilo swa wena swi kombisa kahle vuxaka lebyi swi faneleke ku byi yimela.
Emisaveni ya xiviri, swilotlelo hakanyingi a swi cinci (xikombiso, ti-ID, mavito).
Loko u modela swilotlelo leswi tanihi swilo leswi cinca-cincaka, u herisa ku fambisana ka munhu hi xiyexe exikarhi ka misava ya xiviri ni nongonoko wa wena eka MAPPER .
Loko u tshova bijection leyi hi ku tirhisa swilotlelo leswi cinca-cincaka, u endla leswaku mepe wu nga fambisani leswi yisaka eka ku tsandzeka ku vuyisa na mahanyelo lama nga languteriwangiki.
Tijeneretara ta AI ti nga ha tumbuluxa nun’hwelo lowu loko ti humesa swilo leswi cinca-cincaka tanihi swilotlelo handle ko tekela enhlokweni switandzhaku.
Leswi a swi tali ku va tano tanihi leswi tijeneretara ta AI ti xanisekaka hi ku khomeka ka khale .
Tijeneretara ta AI ti nga vona ku nun’hwela loku hi swiletelo swo xopaxopa matirhiselo ya swilo leswi cinca-cincaka eka nhlengeleto lowu simekiweke eka hash na ku fungha timhaka leti nga vaka kona.
U nga lerisa AI ku lava titlilasi leti nga riki na tinsimu to hetelela kumbe tindlela leti cincaka xiyimo xa nchumu endzhaku ka ku tumbuluxiwa.
Tsundzuka: Vapfuni va AI va endla swihoxo swo tala
Handle ka Swiletelo Leswi Faneleke | Hi Swiletelo Leswi Kongomeke |
---|---|
Loko u tirhisa swilo leswi cinca-cincaka tanihi swilotlelo, u le khombyeni ro tlula ntwanano exikarhi ka xiyimo xa xilotlelo na khodi ya hash.
Tirhisa swilo leswi nga cincekiki leswaku u papalata mhaka leyi.
https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun’hweriso-swa-khodi-ya-wena-xiphemu-xxxiv
https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun’hweriso-swa-khodi-ya-wena-xiphemu-xxv
https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun’hweriso-swa-khodi-ya-wena-xiphemu-xxiv
https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun’hweriso-swa-khodi-ya-wena-xiphemu-xxxvi
https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun’hweriso-swa-khodi-ya-wena-xiphemu-xviii
https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun’hweriso-swa-khodi-ya-wena-xiphemu-xxvi
https://hackernoon.com/ndlela-yo-ku-kuma-swiphemu-swo-nun'hweriso-swa-khodi-ya-wena-xiphemu-xlii
Code Smells i mavonelo ya mina .
Xifaniso hi Kathyryn Tripp eka Unsplash
Nhundzu ya nkoka swinene ya nongonoko i loko wu hetisisa xikongomelo xa mutirhisi wa wona.
MOVHA Hoare
Xihloko lexi i xiphemu xa CodeSmell Series.