Hirdetés

2024. június 2., vasárnap

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)

Hozzászólások

(#5842) Szmeby válasza materk (#5840) üzenetére


Szmeby
tag

Hogy mi a jó, az relatív. Neked kell tudnod, hogy mire van szükséged.

Ha jól értem, akkor azt az információt, ami a versenyzők helyezését reprezentálja, a listában lévő elemek sorrendje határozza meg.
Amíg egyedül dolgozol a projekten, nem jelenthet problémát, mert mindent tudsz a programról. Amikor többen is bekapcsolódnak a fejlesztésbe, akkor előtérbe kerül az érthetőség, átláthatóság. Ha úgy gondolod, hogy aki ránéz a kódra és egyből leesik neki, hogy a helyezés a listaelemek sorrendje, akkor nem lesz probléma az értelmezéssel. Amennyiben nem egyértelmű, akkor ennek az információnak láthatóbb helyen kell lennie, pl. egy objektum egy mezőjében.

A jelenlegi helyzetben ezt redundánsnak gondolod, de korábban felvetették, hogy adatbázistól függ, hogy mennyire megbízható a sorrend. A Hibernate alatt pedig semmi perc alatt cserélhető az adatbázis implementáció. De akár olyan galádság is megtörténhet, hogy valaki a jól bejáratott List-et Set-re cseréli, mert nem jut eszébe, hogy a sorrend is fontos. Persze a te esetedben ettől nemigen kell tartani. Viszont az előbbi szituációkban nem jelent redundanciát a helyezés dedikált helyen való eltárolása.

Egy másik érdekes dolog, hogy a listaelemek sorrendjére való építkezés nem támogatja a holtverseny fogalmát. Valószínűleg a véletlen dönt arról, hogy holtverseny esetén ki sorolódik előrébb. Ez tesztelhetőség szempontjából nem feltétlenül ideális állapot. Tesztelhető ugyan, de a véletlen sorrend miatt nehézkes.

Persze ha fontos számodra teszemazt a memóriaméret, a redundancia alacsonyan tartása, és biztosan tudod, hogy a fent említett anomáliák (vagy hasonlók) sohasem történhetnek meg, akkor nem kell dedikált mezőt készíteni a helyezésnek. Felesleges.

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.