La página de MSDNByRef
y las ByVal
palabras clave no son muy útiles; a menos que lo omita de alguna manera, simplemente se les conoce como "palabras clave" en todas partes.
Uno de los principales contribuyentes del proyecto Rubberduck está trabajando en una refactorización de campo encapsulado muy buena , y la interfaz de usuario está funcionando bastante bien ... excepto que tengo un problema con la etiqueta sobre el menú desplegable para ByRef
/ ByVal
, que dice "Accesibilidad":
No me gusta "Accesibilidad" porque la estoy usando en otro lugar para Public
/ Private
/ Friend
modificadores de acceso donde se siente más precisa.
No quiero usar "Modificador" porque IMO es solo una abreviatura de "modificador de acceso".
Me gustaría que esa etiqueta sea precisa, pero aparentemente mi vocabulario es insuficiente y no sé cómo llamar a estas palabras clave.
¿Qué debería decir esta etiqueta, para ser exactos? ¿Cuál es la palabra que estoy buscando? ¿A qué "familia de palabras clave" pertenece ByRef
/ ByVal
pertenece?
ByVal
sin posibilidad de cambiarlo aByRef
otro que no sea editar manualmente el código generado, y "problema resuelto"! VBA puede compilar una tremenda cantidad de tonterías malvadas que sabes :-) aún así, me gusta que finalmente haya un lugar en línea que ponga un nombre a estas palabras clave.Respuestas:
En este caso, usaría "Pasar como" (o "Pasar").
Tiene un flujo que coincide perfectamente con este uso.
Esto se adapta perfectamente a su flujo de trabajo y, por cierto, es exactamente lo que indica el artículo al que hace referencia.
A medida que lee sus opciones, se lee perfectamente cuando se usa 'Pasar como', ya que simplemente puede leer el encabezado y seleccionar el texto apropiadamente - "'Nombre de variable' foo, 'Pasar como' valor".
Si desea que se lea un poco mejor, puede hacer que sus opciones de lista "Valor" y "Referencia" dependan de si su público objetivo son programadores de VBA o programadores que no son de VBA que pueden estar un poco menos familiarizados con las palabras clave ByVal y ByRef.
O, alternativamente, cámbielo a "Pass:" y conviértalo en "By Reference (ByRef)" y "By Value (ByVal)" en el menú desplegable. Parece que tu menú desplegable tiene el espacio para mostrar todo este texto. O simplemente las palabras clave ByRef / ByVal.
fuente
Usaría cualquiera de estos 3 términos para etiquetar un menú desplegable seleccionando eso:
fuente
"Pass By Semantics" es probablemente lo más parecido a lo que estás buscando.
fuente
El término más exacto y formal para esto sería "semántica de alias".
Cuando
ByRef
se usa, el nombre dentro de la función es un alias para la variable de la persona que llama: todos los cambios en uno de los dos son inmediatamente visibles para el otro. ConByVal
, el nombre dentro de la función es una copia distinta de la variable de la persona que llama (por supuesto, tanto la copia de la persona que llama como la de la función pueden referirse al mismo objeto, pero son distintas porque la reasignación del parámetro dentro de la función no reasigna la variable de la persona que llama )Las opciones serían
ByRef
)ByVal
)Algunas plataformas agregan una tercera posibilidad, donde se realiza el alias de la variable del llamador pero no se permite que más de un parámetro alias se superpongan objetos. (La idea detrás de la
restrict
palabra clave C , también se encuentra en IDL, donde está la palabra clave atributounique
). .NET no tiene una buena forma de codificar este conocimiento.fuente
Yo lo llamaría una "categoría [argumento]".
El argumento tiene un nombre, un tipo y una categoría.
fuente