ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Phùng Ánh Dương BÁO CÁO BÀI TẬP TÁI CẤU TRÚC MÃ NGUỒN BÀI TẬP MÔN KIẾN TRÚC PHẦN MỀM Ngành: Khoa Học Máy Tính Hà Nội – 2022... ĐẠI HỌC QU
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phùng Ánh Dương
BÁO CÁO BÀI TẬP TÁI CẤU TRÚC MÃ NGUỒN
BÀI TẬP MÔN KIẾN TRÚC PHẦN MỀM
Ngành: Khoa Học Máy Tính
Hà Nội – 2022
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phùng Ánh Dương
BÁO CÁO BÀI TẬP TÁI CẤU TRÚC MÃ NGUỒN
BÀI TẬP MÔN KIẾN TRÚC PHẦN MỀM
Ngành: Khoa Học Máy Tính
Giảng viên: TS Võ Đình Hiếu
Hà Nội – 2022
Trang 3VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Phung Anh Duong
REFACTORING SOURCE CODE PRACTICE REPORT
Major: Computer Science
Lecturer: Dr Vo Dinh Hieu
Ha Noi - 2022
Trang 5Mục Lục
Chương 1: Source code ban đầ u . 6
1.1
Gi ớ i thi ệ u . 6
1.2
plays.java 6
1.3 performances.java 7
1.4
invoice.java . 7
1.5
main.java . 8
Chương 2: Extract method . 9
2.1
Gi ớ i thi ệ u . 9
2.2
Trướ c tái c ấ u trúc . 9
2.3
Sau tái c ấ u trúc . 10
Chương 3: Chỉ nh s ử trình bày 12
3.1
Xu ống dòng các đoạ n code dài, d ễ gây r ố i 12
3.2
Cách dòng để tách đoạ n code x ử lý v ớ i các bi ế n và k t qu ả tr ả v ề 12
3.3
T ối ưu hóa tính toán (giả m b ớ t s ố 0 trong tính toán để tránh sai sót) . 13
Chương 4: Xóa b ỏ nh ữ ng th ứ không c n thi ế t 14
.1
Xóa b m ộ t s ố bi ế n không c ầ n thi ế t 14
Chương 5: Viế t Javadoc 15
4
5.1
Gi ớ i thi ệ u . 15
5.2
Trướ c khi s ử . 15
5.3
Sau khi s ử a . 15
Trang 6Chương 1: Source code ban đầu
1.1 Giới thiệu
Source code ban đầu gồm 4 file:
•
•
•
plays.java: class định nghĩa đối tượng plays, bao gồm các getter, setter
và constructor của đối tượng.
performances.java: class định nghĩa đối tượng performances, bao gồm các getter, setter và constructor của đối tượng.
invoice.java: class định nghĩa đối tượng invoice, bao gồm các getter, setter và constructor của đối tượng Ngoài ra còn chứa method bill() có chức năng in hóa đơn.
• main.java: chứa method main() Bên trong method là data được cho sẵn
và một test.
1.2 plays.java
Trang 71.3 performances.java
1.4 invoice.java
Trang 81.5 main.java
Trang 9Chương 2: Extract method
2.1 Giới thiệu
Trong source code, method bill() có chứa phần code dùng để tính số tiền phải trả của một đối tượng performances Phần code này có thể được di chuyển thành một method mới, giúp method bill() thông thoáng, dễ đọc hơn.
2.2 Trước tái cấu trúc
Trang 102.3 Sau tái cấu trúc
Trang 12Chương 3: Chỉnh sửa trình bày
3.1 Xuống dòng các đoạn code dài, dễ gây rối
3.2 Cách dòng để tách đoạn code xử lý với các biến và kết quả trả về
Trang 133.3 Tối ưu hóa tính toán (giảm bớt số 0 trong tính toán để tránh sai sót)
Trang 14Chương 4: Xóa bỏ những thứ không cần thiết
4.1 Xóa bỏ một số biến không cần thiết
Trang 15Chương 5: Viết Javadoc
5.1 Giới thiệu
Javadoc là một công cụ khá tốt để giúp người khác có thể đọc hiểu code của bản thân Thay vì comment - chỉ có thể đưa ý tưởng vào từng phần code, thì javadoc có thể đưa
ý tưởng của người viết code về cả method, thậm chí cả class, cùng với các biến, các kết quả trả về.
5.2 Trước khi sửa
5.3 Sau khi sửa