You are on page 1of 15

ĐẠ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Ố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
VIETNAM 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
Mụ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ửa 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
4.1 Xóa bỏ một số biến không cần thiết ...................................................................... 14
Chương 5: Viết Javadoc ................................................................................................... 15
5.1 Giới thiệu ................................................................................................................. 15
5.2 Trước khi sửa .......................................................................................................... 15
5.3 Sau khi sửa .............................................................................................................. 15
Chươ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.
Link source code ban đầu: Github
Link source code sau khi tái cấu trúc: Github
1.2 plays.java
1.3 performances.java

1.4 invoice.java
1.5 main.java
Chươ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
2.3 Sau tái cấu trúc
Chươ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ề
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)
Chươ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
Chươ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

You might also like