Tôi có câu hỏi về phong cách Java. Tôi đã lập trình Java trong nhiều năm, nhưng chủ yếu cho mục đích của riêng tôi, nơi mà tôi không phải lo lắng nhiều về phong cách, nhưng tôi đã không có một công việc mà tôi phải sử dụng nó một cách chuyên nghiệp. Tôi hỏi vì tôi sắp có người thực sự đi qua mã của tôi lần đầu tiên và tôi muốn trông giống như tôi biết những gì tôi đang làm. Heh.Câu hỏi về kiểu getter/setter Java
Tôi đang phát triển thư viện mà những người khác sẽ sử dụng tại nơi làm việc của tôi. Cách mà mã khác sẽ sử dụng thư viện của tôi về cơ bản là để khởi tạo lớp chính và có thể gọi một hoặc hai phương thức trong đó. Họ sẽ không phải sử dụng bất kỳ cấu trúc dữ liệu nào của tôi, hoặc bất kỳ lớp nào tôi sử dụng trong nền để hoàn thành công việc. Tôi có thể sẽ là người chính duy trì thư viện này, nhưng những người khác có lẽ sẽ xem xét mã này một lần trong một thời gian. Vì vậy, khi tôi đã viết thư viện này, tôi chỉ sử dụng mức truy cập không có trình sửa đổi mặc định cho hầu hết các trường của tôi, và thậm chí đã đi xa đến mức có các lớp khác đôi khi đọc và có thể ghi trực tiếp từ các trường đó lên. Vì đây là trong gói của tôi, điều này dường như là một cách tốt để làm mọi thứ, cho rằng các trường đó sẽ không hiển thị từ bên ngoài gói, và dường như không cần thiết để làm cho mọi thứ riêng tư và cung cấp getters và setters. Không ai ngoài tôi sẽ viết mã bên trong gói của tôi, đây là nguồn đóng, v.v.
Câu hỏi của tôi là: đây có phải là kiểu xấu đối với các lập trình viên Java khác không? Tôi có nên cung cấp getters và setters ngay cả khi tôi biết chính xác những gì sẽ nhận được và thiết lập các lĩnh vực của tôi và tôi không lo lắng về người khác viết cái gì đó sẽ phá vỡ mã của tôi?
Cảm ơn, câu trả lời trực tiếp là những gì tôi đang tìm kiếm. Có rất nhiều lý do thực sự tốt để sử dụng getters và setters được liệt kê trong câu trả lời khác. Tôi đã có lý do riêng của tôi để phá vỡ đóng gói và muốn biết nếu điều này sẽ được một cái gì đó khác Java lập trình viên thực sự sẽ quan tâm. – jsn