2012-02-17 20 views
5

Tôi đang thực hiện tái cấu trúc mã được dịch từ các ngôn ngữ khác sang Java và tôi muốn tự động làm điều đó. Vấn đề của tôi là tôi có rất nhiều phương thức không riêng tư nhưng chỉ được gọi trong cùng một lớp mà chúng được khai báo và tôi muốn đặt chúng ở chế độ riêng tư. Tôi có rất nhiều lớp và tôi đoán nếu có cái gì đó có thể giúp tôi làm điều đó bán tự động tôi muốn biết điều đó.Tự động thay đổi thành công khai thành riêng tư (Java)

Bạn có biết liệu tôi có thể tìm kiếm các phương pháp này để đặt chúng ở chế độ riêng tư nhanh không? Tôi đang sử dụng Eclipse.

+4

Nếu phần lớn thư cần phải là riêng tư thì bạn có thể đặt tất cả công khai thành riêng tư bằng cách tìm/thay thế rồi sửa chữa những thư chuyển sang màu đỏ vì chúng cần được công khai. – Gray

+1

Tại sao bạn lại làm điều này? Nếu đây là một môi trường sản xuất, xin đừng làm điều đó. –

Trả lời

8

Thay thế tất cả là một tùy chọn.

Nhưng Tôi khuyên bạn không nên làm điều đó. privatepublic có sẵn cho người lập trình. Nếu bạn chỉ gọi một phương thức từ chính lớp đó, nó không tự động có nghĩa là nó private. Điều tốt nhất bạn có thể làm là đi qua từng bước một và tự hỏi mình "phương pháp này có nên là một phần của giao diện công khai hay không?".

Cá nhân, bất cứ khi nào tôi gặp phương thức private trong lớp tôi cần sử dụng, 99% thời gian tôi để nó private và tìm giải pháp thay thế. Đó là bởi vì tôi cho rằng tác giả gốc của đoạn mã biết những gì anh ta đang làm. Tất nhiên, điều này không phải lúc nào cũng áp dụng.

private là tuyên bố về mục đích. Nó giống như nói - nếu bạn cần sử dụng điều này từ bên ngoài lớp học, bạn đang làm điều gì đó sai trái. Bạn không cần điều này.

1

Có thể một cách sẽ thay thế các từ "công khai" bằng các từ "riêng tư" trên các tài liệu được chọn và có chức năng "Thay thế tất cả". Nhưng nó có tác dụng phụ nếu bạn có "công khai" trong nội dung của một số mã khác với chữ ký phương thức, ví dụ: bên trong một String có thể.

Sau khi thay thế tất cả chữ ký của phương thức bạn chọn, hãy kiểm tra thêm một lần nữa để đảm bảo chúng đúng theo cách bạn muốn.

2

Một điều cần lưu ý là, vì nó được giả định là phạm vi công cộng, bạn có thể có các lớp bên ngoài lớp của bạn gọi phương thức. Nếu bạn có thể tự bảo đảm rằng bạn có tất cả các mã có thể gọi đây. Bạn cũng có thể kiểm tra xem phương thức đang được sử dụng trong nhật thực bằng cách kích chuột phải vào phương thức và sử dụng tham chiếu hoặc (ctrl + shift + G) để đảm bảo rằng không có nơi nào gọi phương thức này.

Để thực sự thực hiện thay đổi từ công khai thành riêng tư, tìm kiếm và thay thế có lẽ là đặt cược tốt nhất của bạn.

Các vấn đề liên quan