Tôi đang sử dụng TDD, và có một mẫu mã hóa rất điển hình, sử dụng Eclipse để tự động tạo ra các phương thức và các trường khi tôi viết mã kiểm tra đơn vị. Ví dụ:Eclipse: Làm thế nào để tự động tạo getter khi thêm một trường?
loại tên của phương pháp đó không tồn tại, ví dụ:
myObj.setValue(someValue);
Bấm vào chút dấu lỗi màu đỏ trong IDE để tạo ra các phương pháp "setValue".
Loại bên trong của phương pháp setValue:
public void setValue(String value) { this.value = value; }
Nhấp vào dấu lỗi màu đỏ để tự động tạo ra một lĩnh vực tư nhân (gọi là "giá trị trong trường hợp này");
Vì vậy, vào thời điểm này, tôi muốn Eclipse để tự động tạo ra các phương thức getter, mà không cần phải làm điều đó bằng cách sử dụng nguồn -> tạo getter và setter menu.
Tôi thấy câu hỏi này: How do you force Eclipse to prompt you to create a getter and setter when it doesn't do it automatically có vẻ ngụ ý rằng Eclipse thực hiện việc này, nhưng tôi không thể tìm thấy nơi để định cấu hình điều đó.
Có cách nào để định cấu hình Eclipse để tự động thêm setter/getters khi thêm biến riêng tư mới không?
CẬP NHẬT: Để làm rõ hơn nữa, tôi đang tìm một cái gì đó giống như tôi thấy trong tài liệu Spring Roo. Nếu bạn nhìn vào phần "Cách hoạt động", nó mô tả cách khung công tác tự động thêm các phương thức bổ sung vào lớp của bạn, bất cứ khi nào bạn thêm một biến riêng tư. (Sở thích của tôi không phải là để chạy một quá trình như thế, tuy nhiên, và cũng không để có được tất cả các cruft mà nó có vẻ để thêm). Tôi đã hy vọng Eclipse đã có một cái gì đó tương tự.
Ra khỏi tò mò, nếu bạn sử dụng TDD, tại sao tạo ra các getter trước khi nó là cần thiết? Nhưng nếu bạn đặt con trỏ sau (hoặc trước) phương thức thiết lập, viết get và sau đó kiểm soát-không gian bạn sẽ nhận được một gợi ý cho một getter (không chính xác những gì bạn yêu cầu). –
@ RogerLindsjö: Đó thực sự là một câu hỏi hay. Câu trả lời chính là: Tôi đã thêm vào * Preferences/Save Actions * hành động để "Loại bỏ các loại riêng không sử dụng", vì vậy khi tôi lưu (điều này xảy ra khi tôi chạy thử nghiệm đơn vị để xem nó thất bại), Eclipse sẽ loại bỏ trường tôi vừa tạo (vì nó chưa được tham chiếu), làm cho tôi gõ lại nó một lần nữa. Vì vậy, có vẻ như dòng chảy tốt nhất là chỉ cần tạo ra getter tại thời điểm đó. Ngoài ra - thường tôi thấy rằng nếu tôi tạo ra một setter, tôi thường cần getter sau này, vì vậy nó cũng có vẻ giống như một công ước tốt mà tôi tạo ra nó tại thời điểm đó khi tôi tạo ra setter trong mọi trường hợp. –
Điều đó giải thích nó sau đó. Đã có thiết lập đó quá, nhưng không thích nó, vì vậy bây giờ tôi đã không sử dụng thành viên tư nhân như cảnh báo và giữ cảnh báo ở số không trước khi cam kết (nhưng chấp nhận chúng trong khi làm việc). –