thắc mắc Lúc nào thì nên sử dụng private attribute trong Python class?

Biết là nguyên tắc OOP thì các att nên để private và dùng hàm set get để access.
Nhưng thực tế là có phải Object nào cũng cần như vậy ko hay chỉ các astract class, interface class thôi. tại thực tế mình thấy code toàn public ầm ầm.
Theo quy tắc đóng gói trong OOP thì bất kỳ object nào sở hữu những internal attr thì đều nên tạo 1 interface với các logic để access/modify giá trị của nó. Điều này đặc biệt quan trọng khi những object của bạn được implement với những business logic và việc quản lý giá trị các attr này đóng vai trò quan trọng trong các flow của chương trình. Còn nếu bạn chắc chắn rằng các object khác khi access vào attr của 1 object chỉ dưới dạng read-only thì việc để attr đó là public cũng là chấp nhận được, tuy nhiên nếu sau này khi requirement thay đổi thì bạn cũng sẽ phải định nghĩa lại những object này và tất cả những logic của các object khác có access đến các attr của những object này. Việc follow các quy tắc trong OOP chính là để giảm effort của lập trình viên bằng cách định nghĩa 1 khuôn mẫu rõ ràng các quy tắc lập trình để các dev khi collaborate với nhau đều có chung 1 mindset và giảm thiểu các negative impact mỗi khi requirement thay đổi. Việc set public attr lúc bắt đầu code thì có thể tiện thât đấy nhưng về sau nó sẽ tạo technical debt cho bạn, nhất là khi xây dựng 1 hệ thống phức tạp và involve nhiều dev.
 
Biết là nguyên tắc OOP thì các att nên để private và dùng hàm set get để access.
Nhưng thực tế là có phải Object nào cũng cần như vậy ko hay chỉ các astract class, interface class thôi. tại thực tế mình thấy code toàn public ầm ầm.
Public ầm ầm GC phải hoạt động nhiều giảm hiệu năng của chương trình. Việt Nam toàn làm oursource kiểu chương trình chạy được là được, không quan tâm nặng hay nhẹ, kệ mịa chúng nó
qZV215Z.png
 
Biết là nguyên tắc OOP thì các att nên để private và dùng hàm set get để access.
Nhưng thực tế là có phải Object nào cũng cần như vậy ko hay chỉ các astract class, interface class thôi. tại thực tế mình thấy code toàn public ầm ầm.
Do team dev sida mới để public ấy :sexy_girl: :sexy_girl:
Xưa lúc 1-2 yrs exp mình cũng public ầm ầm, chả thấy ai chỉnh cho, sau đi làm cho cty to bị mấy lão arch "xịn" gõ đầu thì mới biết :sexy_girl::sexy_girl:
 
Back
Top