1 / 21

Refactoring

Refactoring. Thực hiện: Nhóm 24. 1. 2. Giới thiệu sơ lược. Các phương pháp tái cấu trúc mã nguồn. Nội dung. Định nghĩa.

gypsy
Download Presentation

Refactoring

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Refactoring Thực hiện: Nhóm 24

  2. 1 2 Giới thiệu sơ lược. Các phương pháp tái cấu trúc mã nguồn Nội dung

  3. Định nghĩa • Sự thay đổi cấu trúc bên trong của phần mềm, làm cho phần mềm dễ hiểu và ít tốn chi phí khi cần thay đổi,cập nhật nhưng không làm thay đổi các hành vi ứng xử bên ngoài. • Tái cấu trúc lại phần mềm thông qua việc áp dụng các bước cải tiến mà không làm thay đổi hành vi ứng xử bên ngoài.

  4. Tại sao cần phải tái cấu trúc mã nguồn ? • Cải thiện thiết kế phần mềm. • Mã nguồn phần mềm dễ hiểu và tinh gọn. • Thuận lợi để phát hiện và hạn chế lỗi. • Đẩy nhanh quá trình phát triển phần mềm.

  5. Cần tái cấu trúc mã nguồn khi nào? • Khi thêm chức năng mới • Trong quá trình kiểm tra và sửa lỗi (debugging) • Khi duyệt chương trình từ mã nguồn do người khác viết.

  6. Các kỹ thuật tái cấu trúc mã nguồn

  7. Các kỹ thuật tái cấu trúc mã nguồn

  8. Các kỹ thuật tái cấu trúc mã nguồn

  9. Các kỹ thuật tái cấu trúc mã nguồn

  10. Các kỹ thuật tái cấu trúc mã nguồn

  11. Các kỹ thuật tái cấu trúc mã nguồn

  12. Giải pháp triển khai

  13. Mã xấu • Mã xấu hay lỗi cấu trúc là những dấu hiệu tồn tại trong mã nguồn của chương trình tiềm ẩn khả năng xảy ra lỗi trong quá trình hoạt động.

  14. Mã xấu • Dấu hiệu • Duplicated Code (Trùng lặp mã) • Long Method (Phương thức phức tạp) • Large Class (Qui mô lớp lớn) • Long Parameter List (Danh sách tham số quá dài) • Divergent Change (Cấu trúc lớp ít có tính khả biến) • Shotgun Surgery (Thiết kế lớp không hợp lý và phân rã) • Feature Envy (Phân bố phương thức giữa các lớp không hợp lý) • Data Clumps(Gom cụm dữ liệu)

  15. Mã xấu • Primitive Obsession (Khả năng thể hiện của lớp bị hạn chế) • Switch Statements (Khối lệnh rẽ hướng không hợp lý) • Lazy Class (Lớp được định nghĩa không cần thiết) • Speculative Generality (Cấu trúc bị thiết kế dư thừa) • Temporary Field (Đặc tả các thuộc tính không cần thiết) • Message Chains (Chuỗi phương thức liên hoàn khó kiểm soát) • Middle Man (Quan hệ ủy quyền không hợp lý/logic) • Inapproprite Intimacy (Cấu trúc thành phần riêng không hợp lý)

  16. Mã xấu • Alternative Classes with Different Interfaces (Đặc tả lớp không rõ ràng) • Incomplete Library Class (Thư viện lớp chưa được hoàn chỉnh) • Data Class(Lớp dữ liệu độc lập) • Refused Bequest (Quan hệ kế thừa không hợp lý/logic) • Comments (Chú thích không cần thiết)

  17. Tools • .NET • Refactor in Visual Studio 2005/2008 • .NET Refactoring for C# & VB.NET  • C# Refactory for Visual Studio .NET • CodeIT.Once for .NET • DevExpress Refactor!™ Pro • JustCode! • Java • JetBrains IntelliJ IDE • Elipse IDE for Java Developers • Jrefactory • JBuilder

  18. Demo • Sử dụng refactor trong Visual Studio 2008 • Đồ án nhóm lớn – Tư vấn laptop

  19. Tài liệu tham khảo • Steve McConnell, Code Complete, 2nd Edition, 2004. • Martin Fowler. Refactoring: Improving the design of existing code. Addison Wesley,1999. • Joseph W. Yoder. Refactoring Principles. University of Illinois, 2004 • Refactoring HomePagehttp://www.refactoring.com • The Future of Software Developmenthttp://www.readwriteweb.com/archives/the_future_of_software_development.php

  20. Q & A ?

  21. Thank You !

More Related