software v&vdslab.konkuk.ac.kr/class/2020/20sv/team project/2nd/[t2... · 2020-06-17 ·...
TRANSCRIPT
![Page 1: Software V&Vdslab.konkuk.ac.kr/Class/2020/20SV/Team Project/2ND/[T2... · 2020-06-17 · Software V&V Static Analysis_A3 Team 2 201212519 김선우 201510624 김용현 201611261 민지호](https://reader033.vdocuments.net/reader033/viewer/2022060308/5f09f7c27e708231d4295f27/html5/thumbnails/1.jpg)
Software V&V Static Analysis_A3
Team 2
201212519 김선우 201510624 김용현 201611261 민지호 201611293 전다윤
![Page 2: Software V&Vdslab.konkuk.ac.kr/Class/2020/20SV/Team Project/2ND/[T2... · 2020-06-17 · Software V&V Static Analysis_A3 Team 2 201212519 김선우 201510624 김용현 201611261 민지호](https://reader033.vdocuments.net/reader033/viewer/2022060308/5f09f7c27e708231d4295f27/html5/thumbnails/2.jpg)
Static Analysis
è 다음과 같이 필수적이지 않은 code smell 들을 제거
(1) Unused import -> Unused import 제거
- Controller/Watch.java - line 10
- Mode/Alarm.java - line 3
- Mode/Buzzer.java - line 10
![Page 3: Software V&Vdslab.konkuk.ac.kr/Class/2020/20SV/Team Project/2ND/[T2... · 2020-06-17 · Software V&V Static Analysis_A3 Team 2 201212519 김선우 201510624 김용현 201611261 민지호](https://reader033.vdocuments.net/reader033/viewer/2022060308/5f09f7c27e708231d4295f27/html5/thumbnails/3.jpg)
- Mode/FunctionActivator.java - line 3
- Mode/FunctionActivator.java - line 9
- Mode/TimeKeep.java - line 12
- Mode/TimeKeep.java - line 13
- Mode/Worldtime.java - line 4
![Page 4: Software V&Vdslab.konkuk.ac.kr/Class/2020/20SV/Team Project/2ND/[T2... · 2020-06-17 · Software V&V Static Analysis_A3 Team 2 201212519 김선우 201510624 김용현 201611261 민지호](https://reader033.vdocuments.net/reader033/viewer/2022060308/5f09f7c27e708231d4295f27/html5/thumbnails/4.jpg)
(2) Cyclomatic Complexity is N -> if – else if – else 문 줄이기
- Controller/Watch.java - line 191 ~ pressButton()
- Controller/Watch.java - line 312 ~ display()
- Mode/Dday.java - line 189 ~ plusDay()
- Mode/TimeKeep.java - line 179 ~ plusTime_time()
(3) Expression can be simplified -> if 문에서 true, false 표현 제거
- Controller/Watch.java - line 506
- Controller/Watch.java - line 513
![Page 5: Software V&Vdslab.konkuk.ac.kr/Class/2020/20SV/Team Project/2ND/[T2... · 2020-06-17 · Software V&V Static Analysis_A3 Team 2 201212519 김선우 201510624 김용현 201611261 민지호](https://reader033.vdocuments.net/reader033/viewer/2022060308/5f09f7c27e708231d4295f27/html5/thumbnails/5.jpg)
- Controller/Watch.java - line 522
- Mode/FunctionActivator.java - line 55
- Mode/FunctionActivator.java - line 86
- Mode/FunctionActivator.java - line 100
- Mode/FunctionActivator.java - line 110
- Mode/StopWatch.java - line 38
- Mode/StopWatch.java - line 99
![Page 6: Software V&Vdslab.konkuk.ac.kr/Class/2020/20SV/Team Project/2ND/[T2... · 2020-06-17 · Software V&V Static Analysis_A3 Team 2 201212519 김선우 201510624 김용현 201611261 민지호](https://reader033.vdocuments.net/reader033/viewer/2022060308/5f09f7c27e708231d4295f27/html5/thumbnails/6.jpg)
- Mode/StopWatch.java - line 117
(4) Avoid if (x != y) A; else B; ->if (x == y) B; else A;
- Mode/Alarm.java - line 86 ~ showAlarm()
- Mode/Alarm.java - line 103 ~ cmpAlarm()
![Page 7: Software V&Vdslab.konkuk.ac.kr/Class/2020/20SV/Team Project/2ND/[T2... · 2020-06-17 · Software V&V Static Analysis_A3 Team 2 201212519 김선우 201510624 김용현 201611261 민지호](https://reader033.vdocuments.net/reader033/viewer/2022060308/5f09f7c27e708231d4295f27/html5/thumbnails/7.jpg)
- Mode/Alarm.java - line 213 ~ deleteAlarm()
- Mode/Buzzer.java - line 54 ~ subTimeBuzzer()
- Mode/Dday.java - line 113 ~ showDday()
- Mode/Dday.java - line 128 ~ deleteDday()
![Page 8: Software V&Vdslab.konkuk.ac.kr/Class/2020/20SV/Team Project/2ND/[T2... · 2020-06-17 · Software V&V Static Analysis_A3 Team 2 201212519 김선우 201510624 김용현 201611261 민지호](https://reader033.vdocuments.net/reader033/viewer/2022060308/5f09f7c27e708231d4295f27/html5/thumbnails/8.jpg)
(5) Empty catch block -> 빈 catch 블록 채우기
- Mode/Buzzer.java - line 51
(6) Assignment of parameter ‘X’ is not allowed -> parameter를 넘겨줄
때, 미리 할당해서 넘겨주기
- Mode/Stopwatch.java - line 132
- Mode/Stopwatch.java - line 137
(7) Variable ‘X’ must be private and have accessor methods -> 변수를 private으로 변경하고 getter/setter 추가
- Mode/TimeKeep.java