?????????????????????е??????????????????????????????????????????????????????????????????ζ??(code smell) ???????????????????????????????????????

????????ζ??????????????????????????Щ??????????????ж???????????????????????????????????????Щ??????????????????????????????????????????????????Javadocs™ ?????????????????????????????????????????????д????????????????????????????Щ??????????????ζ???????????????????????????????棬?????Щ??????????????????????????????д????????????????У?????к?????????????”?????????????е????????????????????”??

????????????????????????????????????????????????????????????????????????????????????????????????????????????!?????????????????????????????????????????????????????????????????????Щ??????????????? (code metric)??

???????Щ????緒???????????????????????б?????????????CMMI5??淶???????????????????????????????????????????????????????Ρ?????????????????????漸?????串????????????????????·????????????????????????????????????????????????????????????????У????????????????????????????????????·?????????????

????????????????????????·?????????????????????·??????·???????????????????????????????????????????????????????????о?????????????????? 10 ??????????????????????????????????????????·????????????????????????? ????????????????????????????÷??????????????V(G)=P+1 ??P????????ж?????????????????????????????

????package com.alisoft.kplan.atest;

????public class PathTest {

????public String testA(boolean p1){

????String a = null;

????if(p1){

????a = “”+ p1+ “”;

????}

????return a.trim();

????}

????}

?????????????????????У????????д???????????????串?????

????package com.alisoft.kplan.atest;

????import junit.framework.Assert;

????import org.junit.Test;

????public

????class PathTestTest {

????@Test

????public void testTestA() {

????PathTest pt = new PathTest();

????Assert.assertEquals(pt.testA(true)?? “true”);

????}

????}

????????????????????串???????????????????????????????????????б?????????????????????????д??????????????????д?????????????????????????????????????????????????????????????????????????????????????????????????V(G)=P+1 testA?????????????2?????????????д??????????????????????testA()?????????·????????????????????????????

????public class PathTestTest {

????@Test

????public void testTestA() {

????PathTest pt = new PathTest();

????Assert.assertEquals(pt.testA(true)?? “true”);

????}

????@Test

????public void testTestAfalse() {

????PathTest pt = new PathTest();

????Assert.assertEquals(pt.testA(true)?? “false”);

????}

????}

????????????????????????????????????????е?????????????????????????????????????????????????????????2 ??????????Щ?????Щ????????????????150?????????????????????????????????????????????????????????д150?????????????????????????????????????TDD????????????????д?????????????????????????????????????????????仰??????????????????????????

??????????????????????????JavaNCSS??????????html???檔PMD??????????????????????

?????????????????У??????仯??????????????????б???????????????????????????????????????????????????

????1?????????????????·???????????????????????е?·????

????2??????????????????????????