我重構是達到500線的方法的長期方法(不要問我爲什麼)重構,簡單地填充
的方法基本上可以查詢地圖列表從數據庫中,每個地圖列表做一些計算並將該計算的值添加到地圖中。然而,有太多的計算和完成,代碼已經達到了超過500行!
下面是一個示例預覽:
public List<Hashmap> getProductData(...) {
List<Hashmap> products = productsDao.getProductData(...);
for (Product product: products) {
product.put("Volume",new BigDecimanl(product.get("Height")*
product.get("Width")*product.get("Length"));
//over 10 more lines like the one above
if (some condition here) {
//20 lines worth of product.put(..,..)
} else {
//20 lines worth of product.put(..,..)
}
//3 more if-else statements like the one above
try {
product.put(..,..)
} catch (Exception e) {
product.put("",..)
}
//over 8 more try-catches of the form above
}
上如何去重構這個任何想法?
你讀過Martin Fowlers重構書嗎?我真的不能推薦它。它以任何級別的程序員都能理解的方式來解釋重構技術,因此它不僅是重構的實際書籍(清潔代碼和使用遺留代碼是值得的合作伙伴),它可能是最好的書面技術書籍之一 – 2010-06-02 10:45:07