REFACTORING TRONG NETBEANS PHẦN 1

Tutorial :Refactoring Java Source

REFACTORING TRONG NETBEANS

Tutorial này mình sẽ nói về tính năng rất mạnh mẽ trong NetBeans một tính năng này cá nhân mình yêu thích: “Refactoring”.

Nếu bạn chưa  biết gì NetBeans thì vào đây tìm hiểu nhé: http://netbeans.org/features/index.html, thằng này nó  miễn phí(free), Cross-flastform(Đa nền tảng).Nó là một Môi trường mã nguồn mở(Open Source) phát triển(Development) giao diện(Interface) [IDE] cho các nhà phát triển phần mềm.Netbeans là sản phẩm của Sun Microsystems. Một IDE là một ứng dụng phần mềm cung cấp các tiện ích mở rộng để các lập trình viên phát triển phần mềm, chẳng hạn như một trình soạn thảo mã nguồn(editor), trình biên dịch(Editor compiler), thông dịch, xây dựng các công cụ tự động hóa, và một trình gỡ lỗi(Debug). …

“Refactoring”, nó hổ trợ thay đổi mã nguồn của bạn một cách dễ dàng. Hãy tưởng tượng di chuyển một class giữa các gói(package) và phải chỉnh sửa nội dung trong gói bằng tay ở phía trên cùng của mỗi tập tin, hoặc muốn xóa một biến trong code  và bạn không biết rằng nếu nó được tham chiếu ở một nơi khác trong ứng dụng của bạn. Thực hiện sữa chữa bằng tay có thể dễ bị lỗi. Tuy nhiên, với khả năng sắp xếp tiên tiến có sẵn trong NetBeans, bạn có thể làm thay đổi như vậy  một cách rất dễ dàng. NetBeans cung cấp các tùy chọn sắp xếp(Menu sổ xuống) nhiều trên menu Refactor của nó. Mình sẽ minh họa một nửa trong số tiện ích trong Refactor(Netbeans) ngày hôm nay và một nửa khác trong một bài viết tiếp theo.

Refactor trong Netbeans:

Chúng ta đi tìm hiểu vào từng thành phần một của Menu sổ xuống này nhé.

Rename:

Rename refactoring cho phép bạn thay đổi không chỉ là tên của lớp(class name) mà còn bất kỳ constructor(Phương thức khởi tạo),Các member(Field,Method)….. Ở đây, tôi sẽ thay đổi tên của giá trị biến thành AddedValue trong lớp ImportingClass:

Chọn Refactor

Tự động, tên biến cũng được thay đổi trong lớp MoveClass:

Move(Di chuyển):

Move(di chuyển) một class(Lớp) từ một package(gói) đến một package(gói) khác có thể xem như là một nhiệm vụ dễ dàng, bạn chỉ cần sao chép và dán nội dung của tập tin nguồn vào thư mục mới và sau đó chỉnh sửa các câu lệnh trong gói ở phía trên cùng của tập tin .Tuy nhiên, nếu các lớp khác Import hoặc reference class đó.Sau đó các nhà phát triển(Chúng ta) cũng phải tìm kiếm thông qua và sửa đổi các tập tin. Ở đây là làm thế nào bạn có thể di chuyển MoveClass từ gói refactoringpackage2 tới  refactoringpackage1:

Copy(sao chép):

Copy refactoring  cho phép bạn sao chép nội dung của một class tới  package(gói) khác.Ttự động thay đổi package(gói) câu lệnh ở trên cùng của tập tin nguồn.

Chuyển class nội dung class copyClass đến gói refactoringpackage2

Chon copy

To Package:Copy tới gói….(bạn chọn gói để copy tới)

Safe Delete(Xóa an toàn):

Đôi khi bạn xem lại code trước đây, bạn quyết định loại bỏ một biến thành viên của 1 Class mà bạn nghĩ rằng nó không được sử dụngchỉ để tìm ra nó không thực sự xuất hiện trong code của bạn, và sau đó class của bạn không biên dịch được. Với refactoring Xóa an toàn, bạn có thể xác định từng cách sử dụng một Method(Phương thức), Class(Lớp), hoặc field(biến) trong code trước khi xóa nó. mình sẽ minh họa  nó bằng việc cố gắng để xóa các biến AddedValue từ lớp ImportingClass :

Tuy nhiên , biến được tham chiếu trong MoveClass class, vì vậy xóa nó sẽ gây ra một lỗi. Thì NetBeans cảnh báo bạn, và thậm chí có thể hiển thị cho bạn nơi mà các member  bạn  muốn xóa bị tham chiếu. nếu bạn nhấp vào  nút “Show Useges…”

Change Method Parameters (Thay đổi Tham số Phương thức):

Change Method Parameters cho phép bạn thay đổi mọi thứ một cách an toàn. Ở đây bạn có thể add Paramater(Thêm tham số) ,xóa(Remove),sữa(tên biến,kiểu dữ liệu….) Paramater(Tham số).thay đổi mức truy cập(Access),kiểu trả về(Return Type),tên phương thức(Name Method) và cho bạn create new Method(Tạo mới 1 phương thức) và Delegate phương thức tồn tại(Nghỉa là gọi phương thức hiện hành trong Create new  Method ).Hình ảnh này mình sẽ cố gắng để xóa tham số x của phương thức Show trong ImportingClass Class:

Tham số X được sử dụng trong thân của phương thức, và do đó một cảnh báo sẽ được hiển thị:

Đối các ví dụ sau , mình sẻ tạo ra thêm một lớp được gọi là Truck, lớp này được thừa kế từ một lớp  Vehicles

Pull Up:

Khi làm việc với Class và lớp cha(Supper Class), Pull Up refactoring là rất hữu ích. Nó cho phép bạn di chuyển các thành viên lớp (Field  và Method) từ một lớp con(subclass ) vào lớp cha(Supper Class).

-Chúng ta thấy nó chuyển method stop() trong class con(subclass) chuyển lên class cha(supperclass)

Push Down:

Push Down là đối lập với Pull Up refactoring. Nó đẩy một thành viên lớp cha xuống thành một lớp con.

Chỉ có bao nhiêu đây cho hướng dẫn này, lưu ý rằng ở đây chỉ có một nửa các tính năng của NetBeans refactoring. Nhóm mình sẽ viết tiếp một  nửa còn lại về Repactoring trong một bài tiếp .Các bạn đón theo giỏi nhé.

Tác giả : Trần Thanh Nhã

Trang tham khảo:

http://significantinsignificance.wordpress.com   |  http://docs.oracle.com/javase/

Advertisements

Posted on October 2, 2013, in Java, Java Basic and tagged , , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: