¿Cuándo es buena forma enviar una variable local a una función/método como parámetro, en lugar de usar una variable de clase en lugar de la variable función/método?Uso de una variable de clase versus envío de variable local a funciones/métodos
Por ejemplo, puedo tener una función:
int DoSomething(int var)
{
if(var == -1)
return 0;
}
o puedo tener una variable "_var" clase y utilizarlo en la misma función, así:
int DoSomething()
{
if(_var == -1)
return 0;
}
I' M de la mente, si tenemos una variable de clase para ser utilizada en alguna función/método, llamada DoSomething
en mi ejemplo anterior, que debería enviar la función/método DoSomething
la variable de clase como parámetro, para que la función sea más fácil para leer y probar
¿Cuándo es buena forma de hacerlo? Sé que esta es una pregunta cargada, pero estoy tratando de defender mi argumento con un compañero de trabajo, y afirman que agregaría más código a las firmas de función/método, en lugar de mantener la función/firmas de métodos más pequeñas.
En mi opinión, estoy haciendo que el código sea más limpio y fácil de mantener al empujar las variables de clase a las respectivas funciones/métodos, en lugar de forzarlas a depender de la existencia de una variable de clase.
Por favor, asesorar.
Gracias por su comentario Andre. El diseño original de mi compañero de trabajo implicaba una inicialización dinámica de la variable de clase, a través del constructor, y esta variable de clase se utilizó en varias funciones de la clase. Eliminé esta dependencia y envié la variable en cuestión a una llamada de función, que luego la usa en otras llamadas a función. Como la variable no está encapsulando datos para luego propagarlos a otro lugar, pensé que la función DoSomething (int var) sería más apropiada. Gracias de nuevo por su respuesta reflexiva. – Rick