java外文翻译模板 毕业设计 毕业设计外文资料翻译--有效的Java:编程语言指南

发布时间: 2024-01-04 来源: 未知 栏目:翻译报价 点击:813

如果该方法不检查其参数,则可能会发生多种情况。但也有例外,您应该在执行计算之前检查方法的参数。您应该记录这些限制并在方法主体的开头通过显式检查来执行它们。使用断言

毕业设计外语信息翻译学院:专业班级:学生姓名:学生证:指导教师:外语来源:JoshuaBloch.EffectiveJava[M].London:AddisonWesley,2001. 附件:1.外语翻某言材料;2. 外语原版导师点评:原文内容与主题相关,翻译难度适中。学生的译文在用法上基本准确,译文内容与原文意思基本相符。翻译格式符合规范,按时完成外文翻译任务。签名:2015 年 10 月 14 日 1. Effective Java:编程语言指南第六章方法本章讨论方法设计的几个方面:如何处理参数和返回值,如何设计方法签名,以及如何记录方法。本章中的大部分材料都适用于构造和方法。与第 5 章一样,本章的重点是易用性、健壮性和灵活性。第 23 项:检查参数的有效性。大多数方法和构造对于引入它们的参数的值都有一定的限制。例如,索引值为负的情况并不少见,并且对象引用必须为非空。您应该在方法主体的开头清楚地记录所有此类限制和检查以强制执行它们。这是特殊情况的一般规则,您应该尝试在错误发生后尽快检测。

如果将无效的参数值传递给方法并且该方法在执行前检查其参数,它将很快完全失败并出现适当的异常。如果该方法不检查其参数,则可能会发生多种情况。该方法可能会在令人困惑的异常处理中失败。更糟糕的是,该方法可以正常返回,但会默默计算出错误的结果。*糟糕的是,该方法可以正常返回,但使某些对象处于妥协状态,在某个不确定的时间后导致代码中的某些分散点出现错误。对于公共方法 [emailprotected],如果违反了抛出参数值的限制(第 44 项)。正常情况下会抛出异常:IllegalArgumentException、IndexOutOfBoundsException或NullPointerException(42项)。一旦您记录了限制方法的参数并提交了文件,如果违反了这些限制,就会抛出异常。无论执行如何,这都是一个简单的限制。下面是一个典型的例子: /*** 返回一个 BigInteger,其值为 (this mod m)。这个方法和其他方法不同,[emailprotected]数量,[emailprotected][emailprotected],如果m小于等于0。**/publicBigIntegermod(BigIntegerm){if(m.signum()=0)@ >thrownewArithmeticException(Modulusnotpositive);} 对于未导出的方法,会调用你包作者控制下的方法,所以你可以 并且应该保证只有合法的参数值永远是过去的。无论执行如何,这都是一个简单的限制。下面是一个典型的例子: /*** 返回一个 BigInteger,其值为 (this mod m)。这个方法和其他方法不同,[emailprotected]数量,[emailprotected][emailprotected],如果m小于等于0。**/publicBigIntegermod(BigIntegerm){if(m.signum()=0)@ >thrownewArithmeticException(Modulusnotpositive);} 对于未导出的方法,会调用你包作者控制下的方法,所以你可以 并且应该保证只有合法的参数值永远是过去的。无论执行如何,这都是一个简单的限制。下面是一个典型的例子: /*** 返回一个 BigInteger,其值为 (this mod m)。这个方法和其他方法不同,[emailprotected]数量,[emailprotected][emailprotected],如果m小于等于0。**/publicBigIntegermod(BigIntegerm){if(m.signum()=0)@ >thrownewArithmeticException(Modulusnotpositive);} 对于未导出的方法,会调用你包作者控制下的方法,所以你可以 并且应该保证只有合法的参数值永远是过去的。

使用断言而不是常规检查,因此非公共方法通常应该检查它们的参数。如果使用支持平台的发布断言(1.4 或更高),则应使用断言结构;否则java外文翻译模板 毕业设计,您应该使用临时断言机制。在参数未被使用但存储起来以备后用的情况下,检查方法的有效性尤为重要。例如,考虑第 86 页上的静态工厂方法,它需要一个 int 数组并返回该数组的列表视图。如果此方法的客户端传入 null,则该方法将抛出 NullPointerException,因为该方法包含显式检查。如果省略检查,该方法将返回一个引用,并会在新创建的 List 实例客户端尝试使用它时尽快抛出 NullPointerException。不幸的是,到那时,List 实例的来源可能很难确定,这将大大增加调试任务的复杂性。builder 代表了原则的特殊情况,你应该检查那些参数的有效性,以便存储起来以备后用。检查构造函数参数的有效性非常重要java外文翻译模板 毕业设计,以防止违反类的构造的对象不变。但也有例外,您应该在执行计算之前检查方法的参数。一个重要的例外是这种情况,其中合法性检查将是昂贵或不切实际的,并且在此类计算过程中隐式执行有效性检查。例如,考虑一种对对象列表进行排序的方法,例如 Collections.sort(list)。

java外文翻译模板 毕业设计 毕业设计外文资料翻译--有效的Java:编程语言指南

列表中的所有对象必须相互比较。在对列表进行排序的过程中,列表中的每个对象都会与某些列表中的其他对象进行比较。如果对象不能相互比较,这些比较之一将抛出 ClassCastException,这正是排序方法应该做的。所以会有一点点时间提前检查,列表中的元素相互比较。但是请注意,滥用这种技术可能会导致失败原子的丢失(item 4 6)。有时,计算会隐式进行一些必要的合法性检查参数,但如果检查失败,则会出现错误异常就是说,不同的是自然会抛出的计算结果是无效的。参数值不符合你记录的抛出方法的异常。在这些情况下,您应该使用条款 43 中描述的异常将习语翻译成自然翻译。例外是正确的。*好不要从对这个项目的参数的任意限制中推断出来。相反,您应该设计通用的方法,因为制作它们是现实的。限制越少,参数放得越好,假设该方法可以做一些合理的并且它接受的所有参数值。然而,通常在实现的抽象中存在一些固有的限制。简而言之,每次编写方法或构造函数时,都应该考虑其中存在什么。参数限制。您应该记录这些限制并在方法主体的开头通过显式检查来执行它们。养成习惯对于这样做非常重要;适度的工作,它需要通过第一次偿还利息的有效性检查。项目 24:在需要时制作防御性副本。使 Java 编程语言使用起来很有趣的一件事是它是一种安全的语言。

这意味着没有本地方法可以免疫缓冲区溢出、数组溢出、野指针和其他困扰 C 和 C++ 等不安全语言的内存损坏错误。在安全的语言中,您可以编写类并确定它们的不变量在任何其他情况下都将保持正确,无论系统是什么。不可能把内存中的所有语言都当成一个庞大的数组。即使使用一种安全的语言,您也无法毫不费力地将自己与其他课程隔离开来。假设您的类的客户将尽*大努力破坏其不变量,您必须对编程保持防御。如果有人试图破坏您系统的安全性,这实际上可能是正确的,但更有可能的是,您的类将不得不处理因使用 API 程序员而导致的突然而诚实的错误。无论哪种方式,面对生病和听话的强客户,这是一门值得写的课程。虽然没有对象的一些帮助,另一个类不可能修改对象的内部状态,但很容易提供这种帮助而没有意义。例如,考虑下面的类,它声称代表一个不可变的时间段: // 打破“不可变”的时间段 class publicfinalclassPeriod{privatefinalDatestart; 虽然没有对象的一些帮助,另一个类不可能修改对象的内部状态,但很容易提供这种帮助而没有意义。例如,考虑下面的类,它声称代表一个不可变的时间段: // 打破“不可变”的时间段 class publicfinalclassPeriod{privatefinalDatestart; 虽然没有对象的一些帮助,另一个类不可能修改对象的内部状态,但很容易提供这种帮助而没有意义。例如,考虑下面的类,它声称代表一个不可变的时间段: // 打破“不可变”的时间段 class publicfinalclassPeriod{privatefinalDatestart;


参考资料
上一篇:深圳翻译公司 15岁高中生翻译儿童文学名著《亚瑟王和他的骑士们》 下一篇:资料翻译(资料翻译成英文)
Top