网站大量收购闲置独家精品文档,联系QQ:2885784924

javaee编程规范(中级).doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开发编程规范 J2ee项目一般是大型项目,大型项目都需要团队协作开发。团队协作开发的成功需要一致的开发规范。对软件进行后续的维护成本远远要大于它最初的开发成本,保证开发的系统是可持续工作易于维护就至关重要了。可靠的OO设计原理实践及一个良好的JAVA编程规范在整个J2EE项目生命周期中变得十分重要。在团队开发中,应该保持所有的代码上都乎合- 1 -一个相同的标准,并且代码在风格上应该保持一致。 ??? JAVA编程标准为什么会显得这么重要呢?我们经常会发生这样的情况:太注重于j2ee的某方面的技术细节,而乎略了良好的程序设计和编程习惯。太多的J2EE项目的失败就是因为在项目中含有太多草率的代码,使得整个系统变得脆弱、不可维护,最终只得放弃整个项目。 关于编程规范,它是一个巨大的领域。在这里不作详细的阐述。这里只列出了在实际J2EE开发中十分重要的问题进行讨论,同时对这些问题有不同的见解和解决方法。一切都应该以实践为主。 不要去发明自己的标准 几乎每一门编程语言都有自己的一套编程标准,但是千万不要去发明自己的编程标准。 Java是一门简单的语言,我们应该以sun的java编程标准作为准则。在它的基础上进行扩充。比如C++语言使用的匈牙利命名法,并不适合用于在JAVA。也千万不要在一种开发语言中使用另外一种开发语言的编程标准。 java类中代码的组织结构 ??? 1.按照方法的功能,而不是按照方法的可访问性来组织方法。 ??? 比如:不是把所有的public方法放在private方法的前面,而是把一个private方法放成使用它的那些public方法的附近。 ??? 2.类的组织约定 ??? 静态变量和方法。 ??? 成员变量。 ??? 构造函数。 ??? 接口的实现方法,连同支持它们的私用方法 ??? 该类独有的公有方法(不包括已实现接口的公用方法)。 ??? 抽像保护方法 ??? 提供给子类使用的保护方法 ??? 与前面任何一组都无关的实现方法。 按职责进行分类,做你该做的事情! ??? 每一个类应该具有一个明确的职责,不要把它相干和不相干的代码都填进来。那些不相干的代码应该重构为另一个单独的类或者是助手类。如果一个不同概念级别上的代码对相同的对象重复调用,那么它可能需提升为一个父类。而其它对象通过继承这个父类。 ???? 通过把相干的重复代码提取到父类和把不相干的代码重构为一个助手类是解决代码重复的常用方法。 这样可以阻止一个类的爆炸式增长,变成一个臃肿的类。一个类,包括Javadoc和内部注释,如果超过了500行代码,它都是需要重构的候选者。因为它可能已经承担了太多的职责。可以运用策略模式来用一个接口把原类与助手类分开,实现助手类在不同的情况可以有不同的实现。来提高系统的灵活性。 ???? 每一个方法都应该具有一个单一而清晰明确的职责。否则这个方法应该进行重构。同时这也可以防止方法变得很长。 public String addCounter(CounterDTO counter) throws BusinessException { String buffer = // 读取seqence String sequenceStr = (String) this.getSqlMapClientTemplate() .queryForObject(SqlID.GET_COUNTER_PK, null); int seqLength; seqLength = sequenceStr.length(); String counterNo = ; String regionCode = counter.getRegionCode(); if (regionCode.length() 2) { regionCode = regionCode.substring(0, 2); } counterNo = regionCode + buffer.substring(0, buffer.length() - seqLength) + sequenceStr; counter.setCounterNo(counterNo);// 设置主键 sqlMap.insert(SqlID.ADD_COUNTER, counter);// 插入柜面数据 return pk; } ?? 上面的方法是新增一个柜面信息,它有三个步聚: ??? 1. 读取指定的sequence,获得一个唯一柜面流水号 ??? 2. 根据柜面的机构代码和流水号产生一个唯一8位的柜面号,柜面号由两位的机构代码+6位的流水号组

文档评论(0)

kfcel5889 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档