??????????????????????????????????????????????????????Ч?????????????????????????????????????????????????????????Щ????????????????????????????淶??code review?????????????????′????б??????????????--?????????????????Щ??????????????????????á?
????1??????????????
??????????????????д???????????????????????????????????Щ???????飬???????ú?д?????????????????????????
????1???????????????????????
??????????????й???????????????д??????????????????????????????????????о?????????Щ??????????????????????????????????Щ????????д??????????????????д?????????????????????????????????У???????????????????????????????????????????????????????????????
????2?????????????????
?????????????????????????????????????????????????
????????е????????????????? ?????????????????????????????????????????????????????????????????????????????? ???????????????д?????????????????????????
???????????С??Χ????????????????????????????????????????????????????????????á?
????3??д???????????????????С?????????????
?????????????????????????????????????????????????????д?????????????????????? review ??????д??????????????????????? code review ????????????????У?????????Щ??????????(?????????????????)???????д?????????(?????Щ???????????????)??????????????????????????????????????????????????????????
????4??????????????????????
??????????Щ?????????????????????????????????????????????????????????????????????“???”??????????????????????????????????????????δ?????????????????Щ?????????????????????Щ???
????2??????????
????д????????????????????????????????????飬?????????鶴???????????????????????????????????????????????????????????????????????κ????????????????????????С?
???????????????????????????????“???”??д??????????????????????????????????????”???”?? ???”???”?????????????????????????? ?????????????????κβ????????????? ??????????????????Щ??????????????縴?????????????????????????? mock ??????????Щ????????????? ??
????д??????????????????????????????£????????????????????????????????????????????? 1-2 ???????????????????????д?????????????????????????????????д??
???????????????????????
????????????????? end to end ??????????????????鼯?????????????????????????????? ???????????????? ?????????????????????????????????????????
?????????????????????????????????????????????????
????????????????У??????????д??????????????????????????????????е???????????????е??????????????????????????????????????????????????????????????????????????????????д????????????????д?????????
?????????????????????????д??????????????????ο???

?????????????????????????????????????????????????????????????????????????????????????????????????鵥??????????????????????????????????????£????????????????????????????檔?????????????????????У?????????????????????С?
????3?????д???????????
????????????????????д?????????????????????????????????????? Dependency injection??????????? ?????????????????????????????????????????????飬?? Spring IOC?? Guice ?????????????????????????????????д?????????????????????? ?????????? set ?????????????????????? ??
??????????????????????в?????????????????1????
????https://en.wikipedia.org/wiki/Dependency_injection
?????????????к??????????(???? powermock?? easymock ??)??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????4????????????????????
???????????????????????????????????????????????д?????????б?????к????????????????????????????????????????Jacoco??Cobertura?? Emma?? Clover?????????????????????????????
????· ?????????Function Coverage??
????· ??串???Statement Coverage??
????· ????????Decision Coverage??
????· ?????????Condition Coverage??
????????????????????θ???????????????????????????????????????????????????????????????????????е????????????Щcorner case??
?????????????????С?????
????public double cal(double a?? double b) {
????return a/b;
????}
????????????У??????????????????????????????????????? cal(10.0?? 2.0)????????????????????????????????????????????????????????з???????
?????????????????????????????????????????????????????д?????б??????????(??????Щ get/set ?????????????????)??????????????????????Ч?????????????????????????????????????60%~70%?????????????????????????????????????????????
????5???????????????
????д????????????????????????????????????????????????????????????????????????????????????д????????????????????????????????????????д???????????????????????????????????????????????????????????????????????????????
????????????????????????????????????е????????Щ????淶??????????????????????????
????6?????????????д??????????????????
?????й?????????鶼??????????????????????????????к??????????Щ?????????????м???е?????????? code review ?????????????Щ?е?????????????д??????????????????????к?????????????????????????????????????????????????????????  fix??????????????£????????????????????б??????????????????????????????????д?????? code review????????????????????????????????????в????????
???????????????????????????в???????????????????????????????????????????????? Bug ????????????????????????????????Щ???????????????????
?????????Щ??????????????????????????????????е??????????е????????????????????????????????????????“????”??????????????“??”????????????????????????????????????漰??????/??????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????з???????
?????к???????д????????????????????в?????У?????д??????????棬??????????????????????д?????????????????д?????????????????????????????????????????????????д????????????????????????????????????????????????????????????????????????????δ?????????????????????????? feature??????????????????????????????????????
?????????????????????????????????????????д??????????????????????????????????????????????????????????????????????????????д???????е????????????????????????????????е????????????????????????????? leader ?????? ownership??????????????????????
???????
???????????????????????????????????????д?????????????黹?????????????????????????????????????????к??淶??????????ο????????????????????????У?????????????