当前位置: 首页 > news >正文

建设网站需要什么基础知识对网站建设的意见

建设网站需要什么基础知识,对网站建设的意见,顺德移动端网站建设,山西品牌设计公司检查参数的有效性 绝大多数方法和构造方法对于传递给它们的参数都会有某些限制,比如对象引用不能为null,比如必须是正数等.你应该在文档中(或者注释中)清楚地指出所有这些限制,并且在方法体的开头检查参数,并且强制施加这些限制.如果做不到这一点,检测出错误的可能性就很小,即…检查参数的有效性 绝大多数方法和构造方法对于传递给它们的参数都会有某些限制,比如对象引用不能为null,比如必须是正数等.你应该在文档中(或者注释中)清楚地指出所有这些限制,并且在方法体的开头检查参数,并且强制施加这些限制.如果做不到这一点,检测出错误的可能性就很小,即使检测出错误,也难以确定错误根源. 共有方法参数检查 对于共有方法,要用javadoc的throw标签在文档中说明违反参数值限制会抛出异常. 常用的异常如下: IllegalArgumentException 非null的参数不正确 IllegalStateExcetion 对于方法调用而言,对象状态不正确 NullPointException 在禁止使用null的情况下参数值为null IndexOutOfBoundException 下标参数值越界 ConcurrentModificationException 禁止并发修改情况下,对象进行修改 UnsupportedOperationException 对象不支持用户请求的方法 一旦在文档中记录对于方法参数的限制,并且记录一旦违反这些限制将抛出异常,强加这些限制就是必须的事情了.例如: /*** 求模运算* param m the modulus,which must be positive* return this mod m* throwsArithmeticException if m is less then or equal to 0*/public int mod(BigInteger m){if (m.signum() 0 ) {throw new ArithmeticException(Modulus 0 : m);}return this.n.signum() % m.signum();} 非公有方法参数检查 对于私有方法而言,你可以控制这个方法在那些情况下被调用,必须确保只将有效的参数传递进来.所以,非公有方法一般使用断言来检查参数的有效性.例如: private static void sort(long[] a, int offset, int length) {assert a ! null;assert offset 0 offset a.length;assert length 0 length a.length -offset;//do something} 本质上讲,断言是在声称被断言的条件为真,无论外围包的客户端如何使用它,异于有效性检查,断言失败将会抛出AsserttionError.如果断言没有发生作用,本质上不会产生成本开销.vm参数 -ea来开启 保留的方法参数检查 对于有些参数,方法本身没有用到,保存起来供以后使用.检测这些参数的有效性尤为重要. 例如: static ListInteger intArrayAsList (final int[] a) {if (a null) {throw new NullPointerException();}return new AbstractListInteger() {Overridepublic Integer get(int index) {return a[index];}Overridepublic int size() {return a.length;}};} 示例中,传入一个int数组,返回List视图.如果这个方法的客户端传递null,该方法会抛出一个NullPointerException,因为该方法显示的条件检查. 如果忽略这个条件检查,就是返回一个新建的List实例的引用,一旦客户端企图使用这个引用,就会立即抛出空指针异常,那时候想要找出List实例的来源就可能非常困难,使得开发调试工作极大地复杂化. 有些参数被方法保护起来供以后使用,构造方法代表这种原则的特殊情景,所以检查构造方法参数的有效性是非常重要的,可以避免构造出来的对象违反类的约束条件. 例外情况 在方法执行计算任务之前,应该先检查它的参数,这个规则有例外.一个重要的例外是,有效性检查非常昂贵,或者根本不切实际,或者有效性检查已经隐含在计算过程中完成.例如:考虑为一个对象排序的方法: Collections.sort(List),列表中的所有对象必须是可以相互比较的.在为列表排序过程中,列表中的每个对象与其他对象进行比较. 如果这些对象不能进行比较,其中的某个比较操作就会发生异常ClassCastException,这正是sort方法应该做的事情.因此,提前检查列表的元素是否可以进行比较,这并没有多大的意义. 然而,请注意,不加选择使用这种方法将会导致失去失败原子性(以后异常会说到失败原子性,参考第64条). 总结 当编写方法或者构造方法的时候,应该考虑它的参数有哪些限制,应该把这些限制写到文档中,并且在这个方法的开头处,通过显示的检查来实施这些限制.养成这个习惯是非常必要的.
http://www.ho-use.cn/article/10817142.html

相关文章:

  • 做vr网站女生适合学计算机的哪个专业
  • 高端网站设计建设建设银行网站未响应
  • 海安县城乡建设局网站适合设计师的网站编辑软件
  • 十大不收费的网站常州本地做网站的大公司
  • 自己造网站中国建设银行网站怎么登录不上去
  • 网站建设与网页设计心得体会单机多wordpress
  • 做家装模型的效果图网站建设钓鱼网站源码
  • 接网站开发项目如何在网站上做免费广告
  • 夜夜做新郎网站在线视频网站制作公司运作方案
  • 懂得做网站还可以做什么兼职平面设计职业学校
  • 如果做网站赚钱页面跳转中
  • 手机网站总是自动跳转php制作投票网站
  • 竞价网站模板建筑施工特种证书查询入口官网
  • 厦门网站建设厦门seo网站 组成
  • 怎样做一个免费的网站1999年怎样建立企业网站
  • 做网站图片多大WordPress功能文件
  • 西部数码网站管理助手破解版湖南电商网站建设
  • 昆山做网站好的wordpress 语录小程序
  • 如何做网站的信息分类优秀建筑设计案例
  • 网站开发是固定资产吗优秀网站建设服务
  • 湛江做网站的公司24小时国内新闻大事
  • 网站排名提升易下拉教程wordpress用户页
  • 网站运行环境配置昌吉做58网站的
  • 南昌网站维护制作如何做网站写手
  • 投资担保网站建设优化关键词的方法有哪些
  • 衡阳房产网站建设中高风险地区最新名单
  • 网站建设会犯法吗wordpress原生评论
  • 电子商务网站如何推广中山哪里网站建设
  • 最好看免费观看高清大全新员工怎样优化推广
  • 长春做网站多少钱个人响应式网站建设