java外文翻譯模板 畢業(yè)設(shè)計(jì) 畢業(yè)設(shè)計(jì)外文資料翻譯--有效的Java:編程語言指南
日期:2023-03-11 12:39:36 / 人氣: 513 / 發(fā)布者:成都翻譯公司
外文資料翻譯譯文;2.外文原文指導(dǎo)教師評語:原文所涉及內(nèi)容與課題有關(guān)聯(lián),翻譯難度適中。譯文格式符合規(guī)范,按時完成了外文翻譯任務(wù)。簽名:2015年10月14日1.外文資料翻譯譯文有效的Java:編程語言指南第六章方法本章討論方法設(shè)計(jì)的幾個方面:如何看待參數(shù)和返回值,如何設(shè)計(jì)方法簽名,以及如何記錄的方法。項(xiàng)目24:需要時進(jìn)行防御拷貝有一件事讓Java編程語言,使用樂趣的是,它是一個安全語言。畢業(yè)設(shè)計(jì)外語信息翻譯學(xué)院:專業(yè)班級:學(xué)生姓名:學(xué)生證:指導(dǎo)教師:外語來源:JoshuaBloch.EffectiveJava[M].London:AddisonWesley,2001. 附件:1.外語翻某言材料;2. 外語原版導(dǎo)師點(diǎn)評:原文內(nèi)容與主題相關(guān),翻譯難度適中。學(xué)生的譯文在用法上基本準(zhǔn)確,譯文內(nèi)容與原文意思基本相符。翻譯格式符合規(guī)范,按時完成外文翻譯任務(wù)。簽名:2015 年 10 月 14 日 1. Effective Java:編程語言指南第六章方法本章討論方法設(shè)計(jì)的幾個方面:如何處理參數(shù)和返回值,如何設(shè)計(jì)方法簽名,以及如何記錄方法。本章中的大部分材料都適用于構(gòu)造和方法。與第 5 章一樣,本章的重點(diǎn)是易用性、健壯性和靈活性。第 23 項(xiàng):檢查參數(shù)的有效性。大多數(shù)方法和構(gòu)造對于引入它們的參數(shù)的值都有一定的限制。例如,索引值為負(fù)的情況并不少見,并且對象引用必須為非空。您應(yīng)該在方法主體的開頭清楚地記錄所有此類限制和檢查以強(qiáng)制執(zhí)行它們。這是特殊情況的一般規(guī)則,您應(yīng)該嘗試在錯誤發(fā)生后盡快檢測。
如果將無效的參數(shù)值傳遞給方法并且該方法在執(zhí)行前檢查其參數(shù),它將很快完全失敗并出現(xiàn)適當(dāng)?shù)漠惓!H绻摲椒ú粰z查其參數(shù),則可能會發(fā)生多種情況。該方法可能會在令人困惑的異常處理中失敗。更糟糕的是,該方法可以正常返回,但會默默計(jì)算出錯誤的結(jié)果。*糟糕的是,該方法可以正常返回,但使某些對象處于妥協(xié)狀態(tài),在某個不確定的時間后導(dǎo)致代碼中的某些分散點(diǎn)出現(xiàn)錯誤。對于公共方法 [emailprotected],如果違反了拋出參數(shù)值的限制(第 44 項(xiàng))。正常情況下會拋出異常:IllegalArgumentException、IndexOutOfBoundsException或NullPointerException(42項(xiàng))。一旦您記錄了限制方法的參數(shù)并提交了文件,如果違反了這些限制,就會拋出異常。無論執(zhí)行如何,這都是一個簡單的限制。下面是一個典型的例子: /*** 返回一個 BigInteger,其值為 (this mod m)。這個方法和其他方法不同,[emailprotected]數(shù)量,[emailprotected][emailprotected],如果m小于等于0。**/publicBigIntegermod(BigIntegerm){if(m.signum()=0)@ >thrownewArithmeticException(Modulusnotpositive);} 對于未導(dǎo)出的方法,會調(diào)用你包作者控制下的方法,所以你可以 并且應(yīng)該保證只有合法的參數(shù)值永遠(yuǎn)是過去的。無論執(zhí)行如何,這都是一個簡單的限制。下面是一個典型的例子: /*** 返回一個 BigInteger,其值為 (this mod m)。這個方法和其他方法不同,[emailprotected]數(shù)量,[emailprotected][emailprotected],如果m小于等于0。**/publicBigIntegermod(BigIntegerm){if(m.signum()=0)@ >thrownewArithmeticException(Modulusnotpositive);} 對于未導(dǎo)出的方法,會調(diào)用你包作者控制下的方法,所以你可以 并且應(yīng)該保證只有合法的參數(shù)值永遠(yuǎn)是過去的。無論執(zhí)行如何,這都是一個簡單的限制。下面是一個典型的例子: /*** 返回一個 BigInteger,其值為 (this mod m)。這個方法和其他方法不同,[emailprotected]數(shù)量,[emailprotected][emailprotected],如果m小于等于0。**/publicBigIntegermod(BigIntegerm){if(m.signum()=0)@ >thrownewArithmeticException(Modulusnotpositive);} 對于未導(dǎo)出的方法,會調(diào)用你包作者控制下的方法,所以你可以 并且應(yīng)該保證只有合法的參數(shù)值永遠(yuǎn)是過去的。
使用斷言而不是常規(guī)檢查,因此非公共方法通常應(yīng)該檢查它們的參數(shù)。如果使用支持平臺的發(fā)布斷言(1.4 或更高),則應(yīng)使用斷言結(jié)構(gòu);否則java外文翻譯模板 畢業(yè)設(shè)計(jì),您應(yīng)該使用臨時斷言機(jī)制。在參數(shù)未被使用但存儲起來以備后用的情況下,檢查方法的有效性尤為重要。例如,考慮第 86 頁上的靜態(tài)工廠方法,它需要一個 int 數(shù)組并返回該數(shù)組的列表視圖。如果此方法的客戶端傳入 null,則該方法將拋出 NullPointerException,因?yàn)樵摲椒ò@式檢查。如果省略檢查,該方法將返回一個引用,并會在新創(chuàng)建的 List 實(shí)例客戶端嘗試使用它時盡快拋出 NullPointerException。不幸的是,到那時,List 實(shí)例的來源可能很難確定,這將大大增加調(diào)試任務(wù)的復(fù)雜性。builder 代表了原則的特殊情況,你應(yīng)該檢查那些參數(shù)的有效性,以便存儲起來以備后用。檢查構(gòu)造函數(shù)參數(shù)的有效性非常重要java外文翻譯模板 畢業(yè)設(shè)計(jì),以防止違反類的構(gòu)造的對象不變。但也有例外,您應(yīng)該在執(zhí)行計(jì)算之前檢查方法的參數(shù)。一個重要的例外是這種情況,其中合法性檢查將是昂貴或不切實(shí)際的,并且在此類計(jì)算過程中隱式執(zhí)行有效性檢查。例如,考慮一種對對象列表進(jìn)行排序的方法,例如 Collections.sort(list)。
列表中的所有對象必須相互比較。在對列表進(jìn)行排序的過程中,列表中的每個對象都會與某些列表中的其他對象進(jìn)行比較。如果對象不能相互比較,這些比較之一將拋出 ClassCastException,這正是排序方法應(yīng)該做的。所以會有一點(diǎn)點(diǎn)時間提前檢查,列表中的元素相互比較。但是請注意,濫用這種技術(shù)可能會導(dǎo)致失敗原子的丟失(item 4 6)。有時,計(jì)算會隱式進(jìn)行一些必要的合法性檢查參數(shù),但如果檢查失敗,則會出現(xiàn)錯誤異常就是說,不同的是自然會拋出的計(jì)算結(jié)果是無效的。參數(shù)值不符合你記錄的拋出方法的異常。在這些情況下,您應(yīng)該使用條款 43 中描述的異常將習(xí)語翻譯成自然翻譯。例外是正確的。*好不要從對這個項(xiàng)目的參數(shù)的任意限制中推斷出來。相反,您應(yīng)該設(shè)計(jì)通用的方法,因?yàn)橹谱魉鼈兪乾F(xiàn)實(shí)的。限制越少,參數(shù)放得越好,假設(shè)該方法可以做一些合理的并且它接受的所有參數(shù)值。然而,通常在實(shí)現(xiàn)的抽象中存在一些固有的限制。簡而言之,每次編寫方法或構(gòu)造函數(shù)時,都應(yīng)該考慮其中存在什么。參數(shù)限制。您應(yīng)該記錄這些限制并在方法主體的開頭通過顯式檢查來執(zhí)行它們。養(yǎng)成習(xí)慣對于這樣做非常重要;適度的工作,它需要通過第一次償還利息的有效性檢查。項(xiàng)目 24:在需要時制作防御性副本。使 Java 編程語言使用起來很有趣的一件事是它是一種安全的語言。
這意味著沒有本地方法可以免疫緩沖區(qū)溢出、數(shù)組溢出、野指針和其他困擾 C 和 C++ 等不安全語言的內(nèi)存損壞錯誤。在安全的語言中,您可以編寫類并確定它們的不變量在任何其他情況下都將保持正確,無論系統(tǒng)是什么。不可能把內(nèi)存中的所有語言都當(dāng)成一個龐大的數(shù)組。即使使用一種安全的語言,您也無法毫不費(fèi)力地將自己與其他課程隔離開來。假設(shè)您的類的客戶將盡*大努力破壞其不變量,您必須對編程保持防御。如果有人試圖破壞您系統(tǒng)的安全性,這實(shí)際上可能是正確的,但更有可能的是,您的類將不得不處理因使用 API 程序員而導(dǎo)致的突然而誠實(shí)的錯誤。無論哪種方式,面對生病和聽話的強(qiáng)客戶,這是一門值得寫的課程。雖然沒有對象的一些幫助,另一個類不可能修改對象的內(nèi)部狀態(tài),但很容易提供這種幫助而沒有意義。例如,考慮下面的類,它聲稱代表一個不可變的時間段: // 打破“不可變”的時間段 class publicfinalclassPeriod{privatefinalDatestart; 雖然沒有對象的一些幫助,另一個類不可能修改對象的內(nèi)部狀態(tài),但很容易提供這種幫助而沒有意義。例如,考慮下面的類,它聲稱代表一個不可變的時間段: // 打破“不可變”的時間段 class publicfinalclassPeriod{privatefinalDatestart; 雖然沒有對象的一些幫助,另一個類不可能修改對象的內(nèi)部狀態(tài),但很容易提供這種幫助而沒有意義。例如,考慮下面的類,它聲稱代表一個不可變的時間段: // 打破“不可變”的時間段 class publicfinalclassPeriod{privatefinalDatestart;
- 上一條美國州務(wù)卿認(rèn)證翻譯模板 中國駐美國紐約領(lǐng)事館,DC大使館辦理領(lǐng)事認(rèn)證手續(xù)程序
- 下一條翻譯人員求職簡歷模板3篇 英語翻譯的個人簡歷模板二
相關(guān)閱讀Relate
熱門文章 Recent
- 翻譯文檔模板 科技文本的翻譯2023-03-11
- 不動產(chǎn)登記簿翻譯模板 某不動產(chǎn)登記簿證樣式曝光 小產(chǎn)權(quán)房不發(fā)證2023-03-11
- 英國大學(xué)畢業(yè)證書翻譯模板 學(xué)歷證書,翻譯,模板.docx 4頁2023-03-11
- 機(jī)動車登記證書翻譯件中英文模板 機(jī)動車登記規(guī)定2023-03-11
- 英語四級翻譯模板有用嗎 大學(xué)英語四級翻譯的核心語法[新版]2023-03-11
- 專利翻譯模板 關(guān)于專利翻譯服務(wù),大家應(yīng)該知道這幾點(diǎn),很有用2023-03-11
- 俄亥俄州駕照翻譯模板 中國駕照可以到美國開車呢2023-03-11
- 南非駕駛證翻譯模板 中國駕照在Khao Lak能用嗎2023-03-11
- 天津圖書翻譯模板 考研! 天津外國語大學(xué) 英語語言文學(xué)專業(yè)2023-03-11
- 離婚證證翻譯模板 辦理離婚證的條件都有什么2023-03-11