Tìm kiếm mã nguồn

Một phần của tài liệu Nghiên cứu về phân tích chương trình và ứng dụng trong giảng dạy (Trang 28 - 30)

Khác với chức năng tìm kiếm các chuỗi trong mã nguồn. Chức năng này sẽ tìm kiếm các phương thức, các hàm, các lớp… cùng vị trí đã sử dụng, vị trí khai báo trong phạm vi một tệp tin mã nguồn hay toàn bộ dự án.

Vai trò của AST: Sau quá trình phân tích ngữ nghĩa chúng ta thu được cây cú pháp trừu tượng với toàn bộ thông tin ràng buộc của đối tượng với khai báo của nó. Việc tìm kiếm chỉ là tìm kiếm các đối tượng có ràng buộc giống nhau.

2.4.5. Tối ưu hóa mã nguồn

Trong quá trình viết mã nguồn lập trình viên sẽ không thể tránh khỏi việc tạo ra các đoạn mã vô nghĩa hoặc có nghĩa nhưng không góp phần tạo nên kết quả đầu ra, hoặc nặng hơn có thể gây hại cho hệ thống sau này. Đoạn mã nguồn vô nghĩa có thể là các khai báo biến nhưng không sử dụng đến biến đó… Đoạn mã nguồn không góp

phần tạo ra kết quả là đoạn mã nguồn không có mối quan hệ với các đoạn mã nguồn khác hay các thành phần khác cùng cấp.

Vai trò của AST: dựa vào AST chúng ta có thể loại bỏ các đoạn mã nguồn này một cách hiệu quả và an toàn.

2.4.6. Sơđồ lớp đối tượng

Sơđồđưa ra những hình ảnh về quan hệ cấu trúc và những ứng xử về chức năng của các lớp trong phạm vi một dự án.

Vai trò của AST: dựa vào AST ta có thể lấy toàn bộ thông tin thuộc tính và phương thức của lớp, cùng với đó là các thông tin về các lớp kế thừa, các lớp chứa trong, từđó suy ra được các quan hệ kế thừa, quan hệ chứa trong.

2.4.7. Tái cấu trúc mã nguồn

Tái cấu trúc mã nguồn là chức năng thay đổi cấu trúc mã nguồn của một chương trình mà không làm thay đổi chức năng của nó. Ví dụ như:

Thay đổi tên và tổ chức vật lý của mã, bao gồm đổi tên các trường, các biến, các lớp và các giao diện.

Thay đổi tổ chức logic của mã nguồn ở mức lớp, gồm chuyển các lớp ẩn danh thành các lớp lồng nhau, chuyển các lớp lồng nhau thành các lớp mức cao nhất, tạo ra các giao diện từ các lớp cụ thể và di chuyển các phương thức hoặc các trường từ một lớp đến lớp con hoặc lớp cha.

Thay đổi mã trong một lớp, gồm chuyển các biến địa phương thành các trường của lớp, chuyển mã chọn trong phương thức thành một phương thức tách biệt và tạo ra các phương thức get và set cho các trường.

Vai trò của AST: Với tính chất có thể chỉnh sửa được của AST, cùng với sự nắm rõ cấu trúc của các lớp đối tượng. Thì AST là một cấu trúc tuyệt vời cho việc tái cấu trúc mã nguồn.

CHƯƠNG 3: CÁC ĐƠN V ĐO PHN MM

Các đơn vịđo phần mềm (Software metrics) là một cách tiếp cận định lượng nổi tiếng được sử dụng để đo chất lượng phần mềm. Phân tích này dựa trên các số liệu phức tạp của phần mềm và các dòng hướng dẫn thực hành lập trình để đánh giá chất lượng các giải pháp của sinh viên.

Trong chương này, tôi sẽ trình bày các khái niệm liên quan của Software metrics. Và đặc biệt tôi sẽ nói kỹ hơn về đơn vị đo Cyclomatic complexity. Cyclomatic complexity có thể đo số lượng đường tuyến tính độc lập thông qua một mô-đun chương trình, nó cung cấp thông tin hữu ích về cấu trúc của một chương trình.

3.1. Các khái nim v đơn v đo phn mm

3.1.1. Đơn vị đo phần mềm là gì?

Theo [8]: “Một đơn vị phần mềm (A software metric) là một đơn vị đo một số thuộc tính của một khía cạnh phần mềm hoặc các đặc tả của nó.” Vì các phép đo định lượng là rất cần thiết trong tất cả các ngành khoa học nên tạo động lực cho các nhà khoa học máy tính về cả lý thuyết lẫn thực hành để có thể đo lường và định lượng nhiều ứng dụng có giá trị trong lịch trình phát triển và kế hoạch ngân sách, dự toán chi phí, kiểm tra đảm bảo chất lượng phần mềm, gỡ lỗi phần mềm, tối ưu hóa hiệu suất phần mềm, và tối ưu phân công nhiệm vụ.

Các đơn vị đo phần mềm dùng để:

- Ước tính chi phí và tiến độ của các dự án

- Đánh giá hiệu quả của các công cụ và kỹ thuật mới - Thiết lập xu hướng năng suất theo thời gian

- Nâng cao chất lượng phần mềm - Dự báo nhân sự sẽ cần

- Dựđoán và làm giảm nhu cầu bảo trì trong tương lai

Mục đích của việc dùng các đơn vị đo phần mềm:

- Xác định chất lượng của sản phẩm/quy trình hiện tại. - Dựđoán về chất lượng của sản phẩm/quy trình. - Nâng cao chất lượng của một sản phẩm/quy trình.

Một phần của tài liệu Nghiên cứu về phân tích chương trình và ứng dụng trong giảng dạy (Trang 28 - 30)

Tải bản đầy đủ (PDF)

(61 trang)