Hallo zusammen,
ich hatte gestern eine kleine verbale Auseinandersetzung mit meinem Chef-Entwickler:
Wir brauchen so etwas:
Integer-Key String-Value
1 eins
2 zwei
1 EINS
Dafür ist wohl ein normales HashMap nicht geeignet, da der Wert vom Key 1 überschrieben würde.
Deshalb habe ich Map.Entry genommen. Das ganze verpacke ich in eine Liste, so dass ich sogar drüber iterieren kann:
Beim Code-Review fings an, er hätte Map.Entry nie gesehen, geschweige denn genutzt. Ich kanns ehrlich gesagt nachvollziehen, ich selber habe davor Map.Entry auch noch nie gesehen. Er fragte mich, warum ich nicht einfach eine eigene Container-Klasse baue. Ich meinte darauf hin, ich wollte darauf verzichten, dass für so eine "Kleinigkeit" eine Container-Klasse gebaut wird.
Was meint Ihr? Ist ein Argument wie "der Code ist schwer zu lesen" gerechtfertigt? Zugegebenermaßen, im Zusammenhang mit der fachlichen Anforderung, die so mit diesem Code programmiert ist, ist der Code nicht vom ersten Blick zu verstehen. Aber nochmal, ist das ein Grund, den Code als schlecht zu bewerten?
Vielen Dank für Eure Kommentare.
Viele Grüße aus Rheinland,
Eure Ratna
ich hatte gestern eine kleine verbale Auseinandersetzung mit meinem Chef-Entwickler:
Wir brauchen so etwas:
Integer-Key String-Value
1 eins
2 zwei
1 EINS
Dafür ist wohl ein normales HashMap nicht geeignet, da der Wert vom Key 1 überschrieben würde.
Deshalb habe ich Map.Entry genommen. Das ganze verpacke ich in eine Liste, so dass ich sogar drüber iterieren kann:
Code:
List<Map.Entry<Integer, String>> pairList = new ArrayList<Map.Entry<Integer, String>>();
Map.Entry<Integer, String> pair1 = new AbstractMap.SimpleEntry<>(1,"eins");
Map.Entry<Integer, String> pair2 = new AbstractMap.SimpleEntry<>(2,"zwei");
Map.Entry<Integer, String> pair3 = new AbstractMap.SimpleEntry<>(1,"Eins");
Beim Code-Review fings an, er hätte Map.Entry nie gesehen, geschweige denn genutzt. Ich kanns ehrlich gesagt nachvollziehen, ich selber habe davor Map.Entry auch noch nie gesehen. Er fragte mich, warum ich nicht einfach eine eigene Container-Klasse baue. Ich meinte darauf hin, ich wollte darauf verzichten, dass für so eine "Kleinigkeit" eine Container-Klasse gebaut wird.
Was meint Ihr? Ist ein Argument wie "der Code ist schwer zu lesen" gerechtfertigt? Zugegebenermaßen, im Zusammenhang mit der fachlichen Anforderung, die so mit diesem Code programmiert ist, ist der Code nicht vom ersten Blick zu verstehen. Aber nochmal, ist das ein Grund, den Code als schlecht zu bewerten?
Vielen Dank für Eure Kommentare.
Viele Grüße aus Rheinland,
Eure Ratna