M2 ???? - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

M2 ????

Description:

Title: Author: rniitani Last modified by: t-miyake Created Date – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 28
Provided by: rni8
Category:

less

Transcript and Presenter's Notes

Title: M2 ????


1
???????????????????????????????????????
  • ????
  • M2 ????

2
????
  • ??????????????????????????
  • ???????????
  • ????????
  • ??????????
  • ? ???????????????????

3
?????
  • ??
  • ????
  • ????
  • ????
  • ?????????

4
????????
  • ???????????
  • ????????????????????,????????????
  • ?????????????
  • ?????????????,?????????????

5
????????????
  • Step 1 ?????????????????(Bad Smell)???
  • ????????
  • ???????
  • Step 2 ???????????????????????
  • ????????????????????????
  • Step 3 ??????????????????
  • Step 4 ????????
  • Step 5 ??????????????????????

6
???????????????????
  • ??????????????
  • Bad Smell?????????????????????????????????????
  • ?????????
  • ?????????
  • ????
  • ??????????????????????????????????????????????

7
???????
  • ?????????????????
  • ???? ????????????
  • ?????????????
  • ???????????????
  • ????????????????????
  • ????????????????
  • Extract Method
  • Move Method
  • Pull Up Method
  • ??????????????
  • ??????????????

8
??????????????
  • ????????????????????
  • ??
  • ????????
  • ??????????????
  • ??
  • ???????
  • ???????????????????????
  • ??????
  • ???????????????????????
  • ???????????

9
???????
  • ?????????????????
  • ???? ????????????
  • ?????????????
  • ???????????????
  • ????????????????????
  • ????????????????
  • Extract Method
  • Move Method
  • Pull Up Method
  • ??????????????
  • ??????????????

10
????????????Bad Smell???
  • ???????????,??????????
  • ?????????????????
  • ?????????????????
  • ?????????
  • ??????????????
  • ????????? 1
  • LOC(Lines Of Code)
  • ?????????
  • LVA(Local Variable Availability)

11
????????????
  • ?????????????????????????????
  • ??????private??
  • ?????????????????????????
  • ???????????
  • ?????????????????????????????????????
  • ???????????????????
  • ??????????????????????????
  • ????????????

? ????????????????
12
??????????????
int drawText(Graphics g, int x, int y, int p0,
int p1) int returnVal super.drawText(g,
x, y, p0, p1) String token null int
toknePos p0 String buffer
getDocument.getText(p0, p1) LangHighlight
lang getLangHighlight() StringTokenizer
tokens null if(lang LangHighlight.JAVA)
toknes new StringTokenizer(buffer,
, true) else if(lang
LangHighlight.COBOL) tokens new
StringTokenizer(buffer, , true) else
tokens new StringTokenizer(buffer, ,
true) (??)
return returnVal
int drawText(Graphics g, int x, int y, int p0,
int p1) int returnVal super.drawText(g,
x, y, p0, p1) String token null int
toknePos p0 String buffer
getDocument.getText(p0, p1) StringTokenizer
tokens getTokens(buffer)
(??) return
returnVal StringTokenizer getTokens(String
buffer) LangHighlight lang
getLangHighlight() StringTokenizer tokens
if(lang LangHighlight.JAVA) toknes
new StringTokenizer(buffer, , true)
else if(lang LangHighlight.COBOL)
tokens new StringTokenizer(buffer, , true)
else tokens new StringTokenizer(buffe
r, , true) return tokens
drawText????? ???????
drawText????? ??????????
????drawText????????? 9
??????
????drawText????????? 10
13
???????
  • ?????????????????
  • ???? ????????????
  • ?????????????
  • ???????????????
  • ????????????????????
  • ????????????????
  • Extract Method
  • Move Method
  • Pull Up Method
  • ??????????????
  • ??????????????

14
????????????
  • ??????????????????????????
  • ???????????????????????????????1
  • ?????M????F(M)????

1??.??????????????????????????????. ?????????43(
6)1625-1637, Jun 2002.
15
?????????????
void METHOD() VAR v1, v2, v3
BLOCK1 VAR v4,v5
BLOCK2 v4
v1 v2
BLOCK3 v5 v1 4
v5 v1 v2
16
??????2????????
  • ???????????????????
  • ????????2???????????????????
  • 1?????????????

??????
????????????
17
?????????????
sample ( )
while
while
if
for
?????
?????
if
18
??????????
  • ??????????????????
  • ????????????????????
  • B1?B2??????????
  • ??????????
  • 2????????1??????????????

19
??????????
  • ??????????????????
  • ???????? ???? ?????????????????????
    ???????
  • ??????????
  • ????????????????????????????????

20
???????????
void METHOD() BLOCK1
VAR v1,v2,v3,v4
BLOCK2 VAR v5,v6 v5
v1 v2 v6 v1 v5

void METHOD() BLOCK1
VAR v1,v2,v3,v4
newMETHOD(v1,v2)
void newMethod(VAR v1, VAR v2)
BLOCK2 VAR v5,v6 v5 v1
v2 v6 v1 v5
21
??????????????????????
  1. RESULT NULL
  2. B ??????????
  3. HCB B ?????????????(B???)
  4. NHCB B ????????????????
  5. OB B?????????
  6. if ( NHCB ?????)
  7. if ( VC( OB, HCB ) gt VC( OB, NHCB ) )
  8. NHCB????????????
  9. else
  10. HCB????????????
  11. EXIT
  12. end if
  13. end if
  14. if ( OB?HCB????????? )
  15. if ( OB?????????? )
  16. B OB
  17. GOTO ?3
  18. end if
  19. else

22
??????????????????
void METHOD() VAR v1, v2, v3, v4, v5
BLOCK1
BLOCK2 VAR v8 v1 v2
v6 v3 v8 v7 v4 v8
VAR v9 0
BLOCK3 v9 v1 v2 v6
v5 v7 v9
BLOCK4 BLOCK5
VAR v12, v13, v14
v10 v12 v13 v14

23
????
  • ???? Java
  • ????????
  • ??????????
  • JHotDraw
  • ??????????
  • ?????????????
  • ???????????????
  • ????
  • Bad smell?????????
  • ??????????????????
  • ??????????????????????????

24
???
for1


for2
  • ???????
  • ????????? 12
  • ??
  • ?????(if1)
  • LVA 0.233
  • If1,for3,for4??????
  • ?????
  • ???????
  • ???????????

for3

for4

if1

25
????
  • Eclipse???????????
  • ?????(????????????4)????
  • ???????????????
  • ?????????????????????
  • ???1????,??????????????
  • ????????????????????????
  • ???????????????????
  • Murphy-Hill????
  • ????????????????????
  • ??????
  • ??????????????
  • ?????????????

26
?????????
  • ???
  • ??????????????????????????????????????
  • ???????????
  • ????????????
  • LVA
  • ??????
  • ?????
  • ?????????????
  • LVA????????

27
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com