thể trùng lặp:
Allen Holub wrote “You should never use get/set functions”, is he correct?Getters and Setters: Mã mùi, ác cần thiết, hoặc không thể sống mà không có chúng
Có tốt, không, một rất lý do chính đáng, đi qua tất cả các rắc rối của việc sử dụng getters và setters cho các ngôn ngữ hướng đối tượng? Có gì sai khi chỉ sử dụng tham chiếu trực tiếp đến thuộc tính hoặc phương pháp? Có một số loại "che đậy ngữ nghĩa" mà mọi người không muốn nói về công ty lịch sự không? Tôi đã quá mệt mỏi và ngủ thiếp đi khi ai đó bước ra và nói "Bạn nên viết số tiền đáng giá để lấy Getters và Setters"?
Follow-up sau một năm:
Nó có vẻ là một lỗi thường xảy ra với Java, ít như vậy với Python. I'm beginning to wonder if this is more of a cultural phenomena (related to the limitations of the language) rather than "sage advice". Vì tôi không lập trình bằng Java (hiện tại theo lựa chọn), tôi không thể thực hiện đánh giá đó.
Hiện tại (hiện tại là của bài viết này 2010-03-22) -1 điểm số câu hỏi là hoàn thành cho-lulz như xa như tôi quan tâm. Điều thú vị là có những câu hỏi cụ thể được giảm xuống, không phải vì chúng là "câu hỏi xấu", mà đúng hơn là bởi vì chúng truy cập vào số dây thần kinh sống của ai đó.
Vì vậy, hãy truy cập vào hạt của vấn đề. Tôi lặp lại bản thân mình:
What's wrong with just using a direct reference to a property or method?
Và đây là hệ quả bất thành văn:
Are we so undisciplined as programmers that we can't keep our hands off of things that are clearly marked "no touchy"?
Tôi không cảm thấy đây là bản sao chính xác. Câu hỏi khác hỏi "Bạn có nên * không bao giờ * sử dụng getters/setters không?" trong khi câu hỏi này hỏi "Bạn có nên * sử dụng getter/setters không?" Có một nhân vật hoàn toàn khác biệt ở đó! – Talljoe
D'oh, nếu đây là một bản sao chính xác, thì tại sao địa ngục không xuất hiện trong các đề xuất khi tôi đăng lần đầu tiên? –
@ Talljoe: Đó là một sự khác biệt tinh tế đã thoát khỏi tôi. Mắt sắc bén! Tôi sẽ đọc kỹ tất cả các câu hỏi khác trong Thanh bên có liên quan để trả lời câu hỏi này để chọn phương án thay thế phù hợp hơn. Cảm ơn. :) –