Evita los significados dobles
Usted ha seleccionado deliberadamente una palabra que tiene más de un significado, y esa primera decisión es el problema. Hay un montón de palabras que son problemáticas para los programadores. Otro ejemplo sería phone
. Puede phone
alguien, o podría tener uno phone
en su bolsillo.
Usar captadores y setters
El nombre estándar para la mayoría de los objetos son los métodos getters / settings para propiedades.
Battery.Charge // would be a property
Battery.setCharge(value) // would set the property
Battery.getCharge() // would get the property
Las propiedades son estados, no sustantivos
Creo que te equivocas al clasificar las propiedades de los objetos como sustantivos, y las variables también podrían pensarse en estados. Son estados relevantes para el alcance local de su existencia.
Podría describir el valor que tienen como sustantivo, pero no estoy seguro de que sea cierto en todos los casos.
En la terminología OOP, las propiedades del objeto describen el estado de ese objeto. En su caso, Battery
es un objeto y Charge
es un estado. Eso sería una propiedad del objeto, pero esto depende del contexto de cómo se usa.
Si necesita poder usar Charge
la batería y también saber cuál es su corriente Charge
, entonces tiene un problema.
Uso del alcance para hacer cumplir el contexto
El contexto es lo que aclarará qué significado de una palabra desea que transmita un método o propiedad. Ámbito es establecer la accesibilidad de una propiedad / método desde fuera del objeto.
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
Los métodos son verbos
Puede describir el método de un objeto como un verbo, pero la palabra acción es más adecuada. En la terminología de OOP, realiza acciones sobre objetos utilizando sus métodos. Es una mala forma modificar la propiedad de un objeto desde fuera del objeto. Se prefiere llamar a un método que realice las acciones necesarias que provoquen cambios en su estado.
La palabra Charge
es un verbo, pero también es un sustantivo. Cuando se usa para llamar al método de una acción, queda claro que se está usando el verbo Battery.Charge(....)
.
Pero, el contexto es muy importante. Si bien la palabra Charge()
es un verbo, no es tan significativa como startCharging()
.
Métodos válidos para Battery
podría incluir Charging
, Discharging
, setCharge
, getCharge
, hasCharge
, Discharge
y Charged
.
Métodos simples palabras una frecuencia no se indica explícitamente sus acciones claridad, pero hay algunos casos como open
y close
donde se requiere poca explicación.
Entonces, no hay realmente una respuesta correcta sobre cómo nombrar estos tipos de propiedades / métodos. Excepto que debe usar las técnicas anteriores con prudencia para asegurarse de que no haya confusión.