Java'da, değerlerle birlikte bir POJO sınıfı ayarlamam gerekiyor. Ancak hangi ayar fonksiyonunun kullanılacağına karar vermek için if
koşuluna güvenmem gerekiyor. Geçerli kod şu şekilde görünüyor:if/else'den kurtulmak if/else
// Code written in a function which is called within a loop, while parsing xml file.
if (name.equals("dim1")) {
line.setDim1Code(Integer.parseInt(value));
} else if (name.equals("dim2")) {
line.setDim2Code(Integer.parseInt(value));
} else if (name.equals("debitcredit")) {
line.setDebitOrCredit(value);
} else if (name.equals("basevalue")) {
line.setBasevalue(Integer.parseInt(value));
} else if (name.equals("rate")) {
line.setRate(Integer.parseInt(value));
} else if (name.equals("value")) {
line.setValue(Integer.parseInt(value));
} else if (name.equals("description")) {
line.setDescription(value);
} else if (name.equals("vatbasetotal")) {
line.setVatBaseTotal(value);
} else if (name.equals("vattotal")) {
line.setVatTotal(value);
}
Bu yalnızca bir örnektir, ancak 70 + gibi özellikler ayarlanacaktır. Kodum çalışıyor, ama bir şey yapmanın doğru yolu olup olmadığını merak ediyorum. AFAIK, bu kod, en iyi uygulamaların kodlanmasına aykırıdır. Java'da bu kodu nasıl optimize edebiliriz? Böyle bir kodla uğraşmak için Java'nın en iyi uygulaması nedir?
'Switch case' kullanabilirsiniz! –
Doğru bir şekilde anlıyorsam, kodunuz, XML verilerinin, her düğüm/özellik için bir koşulla satır satır satır satırını manüel olarak POJO'ya seri hale getirmektir. Bununla çok daha büyük bir yanlışlık var, sadece büyük de olsa. Jackson gibi yüksek seviyeli bir seri hale getirme çerçevesi bulmanın daha iyi olduğunu söyleyebilirim ve bunun çoğunu yeniden yaz. – Mena
Sorunumu çözüyorsa. Anahtar, eğer varsa aynı probleme sahip olacaktır. Kod hala çirkin görünecek. –