我们有几个区域可以看到这样的代码
public Map extractData(ResultSet rs) throws SQLException, DataAccessException {
Map m = new HashMap();
while(rs.next()){
Jurisdiction j = new Jurisdiction();
m.put("code",rs.getLong(1) );
m.put("type",rs.getString(2));
m.put("id",rs.getLong(3) )
}
return m;
}它工作得非常好。问题是,我很难找到一个理由以一种“通用”的方式重写这个代码,如果我这样做了,Map<String,Object> m会给我带来什么“真正”的好处(除了绑定到String键之外)?
发布于 2009-11-04 03:52:21
如果代码有R个阅读器,并且它们花了N毫秒才意识到m是Map<String,Object>,那么使用泛型将节省大约x。R x N毫秒。随着时间的推移,这一点非常重要。此外,您正在改进客户端的文档(使用真实的东西,而不仅仅是Javadoc)。
发布于 2009-11-04 03:51:49
类型安全,这主要意味着在编译时进行错误检测。
这意味着更好的代码和更好的可维护性,因为将来对代码库的更改不太可能破坏某些东西。
但是:你是否应该重写代码只有你自己才能决定。
如果现在一切都很好,你知道你的用户群(可能只有你;-),他们知道他们do.....why投资了改变的成本?此外,在进行更改时,还要考虑引入新错误、和细微错误的可能性(尽管IntelliJ IDEA等集成开发环境支持提供了泛化的帮助)。
发布于 2009-11-04 03:46:04
它提高了可读性和可维护性。传统上,支持和维护是软件开发中最昂贵的方面。提前花点时间,希望以后能为自己省下几块钱。
https://stackoverflow.com/questions/1669689
复制相似问题