?????????????????λ????????“д??????д??????? ??д?????????” ????????????????????????仰?????????????????????????????????????????????д???????????д?????????????????????????????????????????

?????????????????????????????о????????д??????鼮????????????????????????????д???????????д??????????????????? —— ??Щ??????????????????????????????????????κο??е???????????

?????????????????????????????????????????????????????????????????????????????????????????д????????????????????? ??д??????????????????????????????????????????????????????????顣
??????????
?????? Andrew ????? ?????? ??????????????????????????

???????? ?????????? 1999 ???????????????? Martin Fowler ???????????? Refactoring: Improving the Design of Existing Code?????????????д?????????????????????????з?????????????????????????????????????????????????????????????????????????????????????????????????????д??????????е????????????????????????????????????д??????????????????????

?????????

???????????????????????? ??????????????????????????????????д?????????????????????????????????????????????? ??????????????????????????????????д ????????????

??д?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????

???????????“?????????????????y?????????” ??δ????????????????????????????????е????????????????????д??????????????????д??????????????????????????? —— ???????????????????????????????????м????????? “???????” ???????????????任??????????????????????????????????е??????????????????????????????????????????????????????????????????????????????????

???????п???????ж???????????????????????????????????????? ???????????????У???????????????????????????????????????????????????????????????????????????????????????ж??????????????????????÷????????????????
???????в?????????

????????д?????????????????ū????????????????????????????????????????Щ?????? ???????????????????????????????????????????????ú???????????п?????????????????С???????????д???????????????????????????????С?????????????????????ж???????????????????????棬????????????????????????в?????????

?????????

Martin Fowler ???????????????У???????????μ??????????????????????????????????????????Ч????????????????????Extract Method?? ????????????У??????????????????????????????????????????塣??????????????屻?·??????????棬??? 1 ?? UML ??????

? 1. ????????????

?????????????????????????

    ???????????????????????????????
    ?????????????????е???????????????????

??????????

???????????????????????????????????????????????????????????????????????????????????·?????????????????????????? ???????Щ·????????????????帴????????

???磬?????????????? PMD ???????????????????????????????????????????????????н??????????????? 2 ?????

? 2. ?????????? 23??

????????????????????????????????????????????????????????????????????????????????????????? ?ο???????????????????в???????????л??л???updateContent() ???????и????????????????????????????з???????????????Щ ?????

??????棬?????????????д???????? updateContent() ?????е? 23 ??·???????????????????????????д???? 23 ????????????????д???????????????????????????е?? 18 ??????????????????????

С????

?????????????????е?? 18 ????????????ж?????????????????а?????????????????????????????????????????????????????????????????С?????????????????????С????Σ???????????????·?????

???磬updateContent() ?????????????С?????????????????? String?????嵥 1 ???????????????????????

?嵥 1. ?????????????????????


//...other code above

String retstatus = null;
if ( lastChangedStatus != null && lastChangedStatus.size() > 0 ){
 if ( status.getId() == ((IStatus)lastChangedStatus.get(0)).getId() ){
  retstatus = "Change in Current status";
 }else{
  retstatus = "Account Previously Changed in: " +
    ((IStatus)lastChangedStatus.get(0)).getStatusIdentification();
 }
}else{
  retstatus = "No Changes Since Creation";
}

//...more code below