CheckStyle-軟件測試_第1頁
CheckStyle-軟件測試_第2頁
CheckStyle-軟件測試_第3頁
CheckStyle-軟件測試_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、靜態(tài)代碼檢測工具CheckStyleCheckStyle是SourceForge下的一個項目,提供了一個幫助JAVA開發(fā)人員遵守某些編碼規(guī)范的工具。它能夠自動化代碼規(guī)范檢查過程,從而使得開發(fā)人員從這項重要但是枯燥的任務(wù)中解脫出來。CheckStyle檢驗的主要內(nèi)容 包括:lJavadoc注釋 l命名約定 l標(biāo)題 lImport語句 l體積大小l空白 l修飾符 l塊l代碼問題l類設(shè)計 l混合檢查(包活一些有用的比如非必須的System.out和printstackTrace)從上面可以看出,CheckStyle提供了大部分功能都是對于代碼規(guī)范的檢查,而沒有提供象PMD和Jalopy那么多的增強(qiáng)代

2、碼質(zhì)量和修改代碼的功能。但是,對于團(tuán)隊開發(fā),尤其是強(qiáng)調(diào)代碼規(guī)范的公司來說,它的功能已經(jīng)足夠強(qiáng)大。Checkstyle插件可以集成到Eclipse IDE中去,能確保Java代碼遵循標(biāo)準(zhǔn)代碼樣式。一、Checkstyle的安裝按照實驗指導(dǎo)書完成。二、checkstyle的使用1.檢查單個文件被檢查的代碼:import java.util.Scanner;public class Weather public static void main(String args) final int NUMBER_OF_DAYS = 10; final int NUMBER_OF_HOURS = 24; do

3、uble data = new doubleNUMBER_OF_DAYSNUMBER_OF_HOURS2; Scanner input = new Scanner(System.in); / Read input using input redirection from a file for (int k = 0; k NUMBER_OF_DAYS * NUMBER_OF_HOURS; k+) int day = input.nextInt(); int hour = input.nextInt(); double temperature = input.nextDouble(); doubl

4、e humidity = input.nextDouble(); dataday - 1hour - 10 = temperature; dataday - 1hour - 11 = humidity; / Find the average daily temperature and humidity for (int i = 0; i NUMBER_OF_DAYS; i+) double dailyTemperatureTotal = 0, dailyHumidityTotal = 0; for (int j = 0; j check code with checkstyle,檢查錯誤即可。

5、練習(xí)要求將輸入的代碼Weather類修改成為符合CheckStyle某種規(guī)則的編碼風(fēng)格。請在實驗報告中說明CheckStyle檢驗前的代碼和檢驗后的代碼區(qū)別,并分別列出修改的每條代碼是基于哪條規(guī)則做出的修改。修改后的代碼(每行錯誤的類型在這行代碼上方的注釋中):package checksytletest;import java.util.Scanner; /* * author sure * */public class Weather /缺少 Javadoc 。class def modifier 縮進(jìn)了4個縮進(jìn)符,應(yīng)為0個。 /class def lcurly 縮進(jìn)了4個縮進(jìn)符,應(yīng)為0個

6、。 /* * param args 字符串?dāng)?shù)組 */ public static void main(String args)/缺少 Javadoc 。 /必須匹配表達(dá)式: a-za-zA-Z0-9*$ final int nUMBEROFDAYS = 10; /method def 子元素縮進(jìn)了19個縮進(jìn)符,應(yīng)為8個 /必須匹配表達(dá)式: a-za-zA-Z0-9*$ 。 final int nUMBEROFHOURS = 24; /method def 子元素縮進(jìn)了19個縮進(jìn)符,應(yīng)為8個 double data = new doublenUMBEROFDAYSnUMBEROFHOURS2;

7、/- Resource leak: input is never closed /- method def 子元素縮進(jìn)了20個縮進(jìn)符,應(yīng) /為8個。 Scanner input = new Scanner(System.in); / Read input using input redirection from a file /- 第 62 個字符 應(yīng)位于新 /行。 /- for 縮進(jìn)了20個縮進(jìn)符,應(yīng) /為8個。 for (int k = 0; k nUMBEROFDAYS * nUMBEROFHOURS; k+) /for 子元素縮進(jìn)了22個縮進(jìn)符,應(yīng)為12個 int day = inpu

8、t.nextInt(); int hour = input.nextInt(); double temperature = input.nextDouble(); double humidity = input.nextDouble(); dataday - 1hour - 10 = temperature; dataday - 1hour - 11 = humidity; /for rcurly 縮進(jìn)了20個縮進(jìn)符,應(yīng)為8個 / Find the average daily temperature and humidity /for 縮進(jìn)了20個縮進(jìn)符,應(yīng)為8個。 /第 48 個字符 應(yīng)位于

9、新行。 for (int i = 0; i nUMBEROFDAYS; i+) /- 每一個變量的定義必須在它的聲明處,且在同 /一行。 /- for 子元素縮進(jìn)了22個縮進(jìn)符,應(yīng)為12個。 double dailyTemperatureTotal = 0; double dailyHumidityTotal = 0; /- for 縮進(jìn)了22個縮進(jìn)符,應(yīng)為 /12個。 /- 第 49 個字符 應(yīng)位于新行。 for (int j = 0; j nUMBEROFHOURS; j+) dailyTemperatureTotal += dataij0; dailyHumidityTotal += dataij1; / Display result /for 子元素縮進(jìn)了22個縮進(jìn)符,應(yīng)為12個。 System.out.println(Day + i + s average temperature is + dailyTemperatureTotal / nUMBEROFHOURS); System.out.println(Day + i + s average humidity is + dailyHumidityTotal / nUMBEROFHOURS); input.close(); 修

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論