REFACTORING HỖ TRỢ TRONG VISUAL STUDIO 2005

Một phần của tài liệu TỐI ƯU HÓA XỬ LÝ CHƯƠNG TRÌNH potx (Trang 42 - 45)

II. NGUYÊN LÝ TRONG REFACTORING

6. REFACTORING HỖ TRỢ TRONG VISUAL STUDIO 2005

Visual Studio 2005 thực hiện tự động qui trình refactoring.

Bảng 1. Visual Studio 2005 refactorings. Kỹ thuật Refactoring Ý nghĩa sử dụng

Extract Method Cho phép định nghĩa phương thức mới dựa trên tập đoạn code Encapsulate Field Chuyển trường chung thành trường riêng được tóm tắt bởi

thuộc tính .NET

Extract Interface Định nghĩa một loại giao diện mới dựa trên tập những thành viên tồn tại.

Reorder Parameters Cung cấp cách để sắp thứ tự đối số thành viên.

Remove Parameters Như mong đợi, refactoring này di chuyển đối số đã cho từ danh sách tham số hiện hành.

Rename Cho phép rename chuỗi đoạn code (method name, field, local variable, v.v) qua project.

Promote Local Variable to

Parameter Xóa biến cục bộ thành tập tham số định nghĩa phương thức.

Extract Method

Đầu tiên refactoring, chúng ta kiểm tra Extract Method. Bạn tạo một phương thức chịu trách nhiệm chứa user name và password, kết quả thay biến cục bộ cho việc sử dụng sau đó.

using System;

namespace RefactoringExamples {

class Program {

static void Main(string[] args) {

// Get user name and password. string userName;

string passWord;

Console.Write("Enter User Name: "); userName = Console.ReadLine(); Console.Write("Enter Password: "); passWord = Console.ReadLine(); } } }

Hơn việc tạo bằng tay phương thức GetCredentials(), Extract Method refactoring của Visual Studio .NET sẽ tự động phát sinh phưong thức mới, và thay thế đoạn code đã được chọn với chuỗi thực hiện. Bước đầu tiên xác định chính xác tập đoạn code thể hiện logic của một phương thức mới. Giả sử rằng chúng ta phải chọn những tập câu lệnh cho việc refactoring Extract Method.

Hình 4. Cung cấp tên mới phương thức được trích rút

Khi đó click vào OK, bạn tìm thấy cập nhật sau. namespace RefactoringExamples

{

class Program {

static void Main(string[] args) {

Console.WriteLine("*** Please enter your name ***"); GetCredentials();

Console.ReadLine(); }

private static void GetCredentials() {

// Get user name and password. string userName;

string passWord;

Console.Write("Enter User Name: "); userName = Console.ReadLine(); Console.Write("Enter Password: "); passWord = Console.ReadLine(); } } }

Các kỹ thuật khác liệt kê ở bảng 1 xem thêm chi tiết và ví dụ minh họa ở MSDN Visual Studio.

Qua đây nhận thấy rằng từ nguyên lý trong refactoring đã được áp dụng vào các công cụ hỗ trợ phát triển phần mềm ngày càng thiết thực hơn, mang lại sự tiện ích cho nhóm phát triển phần mềm. Đặc biệt refactoring hiệu quả được đề ra trong qui trình phát triển theo mô hình XP (Extreme Programming).

TÀI LIỆU THAM KHẢO

Các phân tích về bộ loc spam của các tác giả dựa trên công trình của Bob Flandrena và Ken Thompson. Bộ lọc bao gồm các biểu thức thông thường để thực hiện việc so khớp phức tạp và tự động phân loại thư điện tử (các thư chắc chắn là spam, các thư có thể là spam và các thư không phải là spam) dựa vào kết quả so khớp chuỗi ký tự.

Bài báo “An Empirical Study of FORTRAN Programs” của Knuth đăng trên Software – Practice and Experience, 1, 2, trang 105-333, xuất bản năm 1971 trình bày các phân tích dựa vào thống kê trên một tập các chương trình.

“Programming Pearls” và “More Programming Pearls” của tác giả Jon Bentley (nhà xuất bản Addison Wesley, 1986 và 1988) trình bày một số ví dụ về kỹ thuật tối ưu hóa thuật toán và mã nguồn chương trình, đồng thời giới thiệu về việc cải thiện hiệu năng chương trình và cách sử dụng profile

Inner Loops của tác giả Rick Booth (nhà xuất bản Addison-Wesley, 1997) cung cấp nhiều thông tin hữu ích cho việc tối ưu hóa chương trình máy tính. Tuy nhiên, do sự phát triển quá nhanh của máy tính nên một số kỹ thuật chi tiết trình bày trong tác phẩm này không còn phù hợp nữa.

Tủ sách về kiến trúc máy tính của tác giả John Hennessy và David Patterson (ví dụ như “Computer Organization and Design: The Hardware/Software Interface, nhà xuất bản Morgan Kaufman, 1997) cung cấp những thông tin về vấn đề hiệu năng thực hiện trong các máy tinh hiện đại.

Bài viết cũng dựa trên một số tài liệu tham khảo từ internet về kỹ thuật Refactoring như sách “Refactoring – Improving the Design of Existing Code”, XP-eXtreme Programming (Kent Beck 2000), và các bài viết “Refactoring C# Code Using Visual Studio 2005”, DSDM (Stapleton 2003), “The Process of Database Refactoring”.

Một phần của tài liệu TỐI ƯU HÓA XỬ LÝ CHƯƠNG TRÌNH potx (Trang 42 - 45)