关于《四个有害的java习惯》

没空写blog,就乱写点评论吧……
原文见
http://www.javaworld.com/javaworld/jw-07-2008/jw-07-harmful-idioms.html
中文翻译见
http://www.iteye.com/news/3058

第一条问题很常见,但解决办法不敢苟同。在文本编辑器里看java代码经常会不知所云,而看python、ruby这类语言却没有任何问题。比如我的self.name='xxx',很清晰。java里在实例变量前面加this的引用就可以了,这个问题只在文本编辑器里看代码时存在,在IDE里完全可以用字体区分出field和local variable的,所以人都被惯坏了
第二条是很好的建议,不过按照这个action,model,dao来分package的怕是网上spring的例子看多了吧。真正的项目一般都是先按照功能,再按照代码的行为来划分,也就是说先buyer,seller,再在这里面细分action,model,dao的package
第三条我实在看不懂他的标题和内容的联系。可变和不可变对象在于使用者,你不向数据库里取出的user对象故意setName他就是不可变的。还有顺便说说java这javabean规范真够恶心的,本来就是个语言层面的东西,偏要写一堆java.beans.*,纯粹脑袋进水的表现,我一直在想该用is还是has,getURL对应的property name是url还是URL或者uRL.
第四条,与第一条呼应了。如果代码编写者没用this引用实例变量,我还可以直接在类最前面找到这个变量。如果在类的最后面,我得翻几页,到最后去找它是个啥东西。想想看Core Java里代码的体验吧,很爽?

你可能感兴趣的:(java,DAO,spring,python,Ruby)