Pregunta rápida: Me gustaría escuchar su opinión sobre cuándo usar "Estado" versus "Estado" al nombrar ambos campos, como "Foo.currentState" vs "Foo.status" y tipos, como "enum FooState" vs "enum FooStatus ". ¿Hay una convención discutida por ahí? ¿Deberíamos usar solo uno? Si es así, ¿cuál, y si no, cómo debemos elegir?
naming-conventions
nomenclature
Sophistifunk
fuente
fuente
Respuestas:
depende del contexto
El estado generalmente se refiere al estado completo de una entidad: todos sus valores y relaciones en un punto particular en el tiempo (generalmente, actual)
El estado es más un punto de tiempo, por ejemplo, donde algo está en un proceso o flujo de trabajo: está sucio (por lo tanto, requiere guardar), está completo, está pendiente de entrada, etc.
Espero que te ayude en tu decisión.
fuente
OMI:
estado == como estas [Bueno malo]
estado == que estas haciendo? [descansando / trabajando]
fuente
State
debería reflejar el "nodo indicado" dentro de un gráfico de nodos de estado de máquina de estado (o flujo de trabajo), donde la descripción podría ser fácilmente un adjetivo verbal (a menudo termina con " -ing "), mientras queStatus
es una propiedad simple del objeto, un adjetivo simple, que podría ser utilizado por un disparador o como valor observado para una decisión de cambiar (o mantener) un estado. Probablemente lo estoy pensando demasiado. Hago eso ..Normalmente usaré State para referirme a la condición actual de un objeto o del sistema en su conjunto. Utilizo el estado para representar el resultado de alguna acción. Por ejemplo, el estado de un objeto puede ser guardado / no guardado, válido / inválido. El estado (resultado) de un método es exitoso / no exitoso / error. Creo que esto concuerda bastante bien con la definición de estado como " estado o condición con respecto a las circunstancias ", las circunstancias en este caso son la aplicación de una acción / método.
fuente
Otra razón (completamente pragmática) para preferir el estado al estado es que el plural es sencillo:
Y créame, tarde o temprano tendrá una lista o matriz o cualquiera de los estados en su código y tendrá que nombrar la variable.
fuente
Creo que muchas personas usan "Estado" para representar el estado de un objeto si por otra razón que "Estado" se refiere a una división política de los Estados Unidos.
fuente
Creo que podría agregar otra perspectiva a la ecuación, a saber, 'remitente-solicitante'.
Desde la perspectiva de los remitentes, comunicaría mi estado con cualquiera que esté dispuesto a escuchar. Si bien desde la perspectiva de los solicitantes, estaría preguntando por el estado de alguien.
Lo anterior también podría interpretarse desde un punto de vista de incertidumbre:
¿Cual es tu estado? Estoy en un estado relajado.
Estoy bastante seguro de que esta es solo una interpretación, que puede no aplicarse a su situación particular.
fuente
Una comprobación rápida del diccionario revela que estado es sinónimo de estado, pero tiene una interpretación adicional de una posición en relación con la de los demás .
Por lo tanto, usaría el estado para un conjunto de estados que no tienen ningún orden implícito o posición relativa entre sí, y el estado para aquellos que sí lo tienen (¿tal vez fuera de espera? Pero es una buena distinción.
fuente
Muchas de las entidades con las que trato (cuentas, clientes) pueden tener un estado (TX, VA, etc.) y un estado (activo, cerrado, etc.)
Entonces, el punto sobre el término es engañoso es posible. Tenemos una convención de nomenclatura de bases de datos estandarizada (no es mi elección personal) donde se nombra
ST_CD
un estado y sería un estadoACCT_STAT_CD
.Con una enumeración en un entorno OO, este problema no es tan importante, ya que si tiene una seguridad de tipo estricta, el compilador se asegurará de que nadie intente hacer esto:
Si estás en un entorno dinámico, ¡estaría más preocupado!
Si se trata de un dominio donde las máquinas de estado u otra información de estado y esa terminología es predominante, entonces creo que State está perfectamente bien.
fuente
Tuvimos este debate exacto sobre mi proyecto actual hace un tiempo. Realmente no tengo preferencia, pero la consistencia es una consideración importante.
La primera (hay varias) definiciones de "estado" en mi Sharp PW-E550 (un diccionario increíble, podría agregar) es "la condición particular en la que alguien o algo se encuentra en un momento específico". La primera definición de "estado" es "la posición social, profesional u otra relativa de alguien o algo". Incluso la segunda (y última) definición de "estado" es inferior a "estado" en este contexto: "la posición de los asuntos en un momento particular, especialmente en contextos políticos o comerciales".
Entonces, si quisiéramos que fuera lo más fácil posible para alguien que usa mi diccionario (usa el New Oxford American Dictionary, 2001), "estado" sería la mejor opción.
Además, hay un patrón de diseño descrito en el libro de Gang of Four llamado State Pattern, que establece firmemente el término en el léxico informático.
Por estas razones sugiero "estado".
PD: ¿Eres tú DDM? ¡¿Todavía estás amargado por "estado" versus "estado"? !!!!!!! LMAO!
fuente
Bueno, significan lo mismo. No creo que sea necesario promulgar una gran preferencia de uno sobre el otro, pero generalmente iría con "status", porque me gustan las cosas que suenan latinas y clasicistas. Quiero decir, en mi mundo, el plural de schemata es schemata, así que prácticamente no hay otra forma de hacerlo, conmigo.
fuente
Sophistifunk, estoy seguro de que obtendrás argumentos tanto para Estado como para Estado. Lo más importante es elegir uno y usar solo uno. Sugeriría discutir esto con su equipo y ver en qué están de acuerdo todos.
Dicho esto, mi sugerencia es la siguiente.
Suponiendo que está utilizando un lenguaje de programación orientado a objetos, el "estado" de un objeto está representado por el propio objeto. SomeObject.state es engañoso imo. No estoy seguro de qué "estado" representa en su ejemplo, pero mi intuición natural es preferir esto al estado.
fuente
No es lo mismo en absoluto. Detenido e iniciado son estados. Parar y comenzar son estado.
Si les haces lo mismo, ¿cómo describirías el vehículo como parado pero que actualmente está en marcha? ¿O una solicitud presentada actualmente pero que aún no ha entrado en el proceso de aprobación o está siendo aprobada pero actualmente está en espera con una condición de error de esperar la firma?
fuente
Starting
hecho, esState
completamente distinto deStopped
. Depende de la semántica de su sistema . Verifique, por ejemplo, los Servicios de Windows.