Tránh nghĩa kép
Bạn đã cố tình chọn một từ có nhiều hơn một nghĩa và quyết định đầu tiên là vấn đề. Có rất nhiều từ gây rắc rối cho các lập trình viên. Một ví dụ khác sẽ là phone
. Bạn có thể phone
ai đó, hoặc bạn có thể có một phone
trong túi của bạn.
Sử dụng Getters và Setters
Việc đặt tên tiêu chuẩn cho hầu hết các đối tượng là các phương thức getters / settings cho các thuộc tính.
Battery.Charge // would be a property
Battery.setCharge(value) // would set the property
Battery.getCharge() // would get the property
Thuộc tính là trạng thái không phải danh từ
Tôi nghĩ rằng bạn đang nhầm lẫn bằng cách phân loại các thuộc tính đối tượng là danh từ và các biến cũng có thể được nghĩ về các trạng thái. Họ là những quốc gia có liên quan đến phạm vi địa phương của sự tồn tại của họ.
Bạn có thể mô tả giá trị mà họ giữ như một danh từ, nhưng tôi không chắc điều đó đúng trong mọi trường hợp.
Trong thuật ngữ đối tượng OOP mô tả trạng thái của đối tượng đó. Trong trường hợp của bạn Battery
, nó là một đối tượng và nó Charge
là một trạng thái. Vì vậy, đó sẽ là một tài sản của đối tượng, nhưng điều này phụ thuộc vào bối cảnh sử dụng nó như thế nào.
Nếu bạn cần có khả năng sử Charge
dụng pin, và cũng biết nó Charge
là gì thì bạn có vấn đề.
Sử dụng phạm vi để thực thi bối cảnh
Bối cảnh là những gì sẽ làm rõ nghĩa của một từ bạn dự định một phương pháp hoặc tài sản để truyền đạt. Phạm vi là thiết lập khả năng truy cập của một thuộc tính / phương thức từ bên ngoài đối tượng.
Batter._charge // a hidden private property
Battery.setCharge(value) // would set the private property
Battery.getCharge() // would get the private property
Battery.Charge() // would perform the Charge action
Phương pháp là động từ
Bạn có thể mô tả phương thức của một đối tượng như một động từ, nhưng hành động từ phù hợp hơn. Trong thuật ngữ OOP, bạn thực hiện các hành động trên các đối tượng bằng các phương thức của chúng. Đó là hình thức xấu để sửa đổi thuộc tính của đối tượng từ bên ngoài đối tượng. Nên gọi một phương thức thực hiện các hành động cần thiết khiến trạng thái của nó thay đổi.
Từ Charge
này là một động từ, nhưng nó cũng là một danh từ. Khi được sử dụng để gọi phương thức của một hành động, nó trở nên rõ ràng rằng động từ đang được sử dụng Battery.Charge(....)
.
Nhưng, bối cảnh là rất quan trọng. Trong khi từ Charge()
này là một động từ thì nó không có ý nghĩa như startCharging()
.
Phương pháp giá trị Battery
có thể bao gồm Charging
, Discharging
, setCharge
, getCharge
, hasCharge
, Discharge
và Charged
.
Các phương thức một từ đơn giản thường không nêu rõ hành động của chúng một cách rõ ràng, nhưng có một số trường hợp như open
và close
yêu cầu giải thích ít.
Vì vậy, thực sự không có câu trả lời chính xác về cách đặt tên cho các loại thuộc tính / phương thức này. Ngoại trừ việc bạn cần sử dụng các kỹ thuật trên một cách khôn ngoan để đảm bảo không có sự nhầm lẫn.