none
Es correcto crear una funcion con mas de 4 parametros ?

    Pregunta

  • Tengo que crear una función que lleva 6 parámetros, pero leí hace tiempo que cuando uno usa funciones con mas de 4 parámetros, no es recomendable por que consume mucha memoria y muchos ciclos del procesador. Si esto es cierto, es posible que utilizando estructuras se resuelva en estos casos. Y como lo haría en caso de.

    Silvio Diaz

    martes, 11 de octubre de 2016 16:03

Respuestas

  • Hasta donde recuerdo jamas vi eso en la documentación ni para C# ni para VB .Net. El .Net framework tiene una gran cantidad de Métodos que llevan 4 o mas parámetros, y pasar de esa cantidad no creo que afecte significativamente el rendimiento, lo si debes tener en cuenta en es el tamaño de los datos de los parametros ahi esta el consumo de memoria; por otra parte salvo que se pasara un parámetro con un tamaño muy grande ( ej: el texto de un archivo muy grande)  o en un metodo recursivo, ahi si podrias tener algun inconveniente, sino no es necesario preocuparse

    Lo que se aconseja siempre es usar la menor cantidad de parámetros posibles por un tema de legibilidad del código y su mantenimiento eso no te debe limitar, tambien esta vigilar que el metodo en cuestión haga solo una tarea concreta y no pretenda abarcar un conjunto de problemas, en dicho caso conviene analizar si el método debe ser divido.

    Resumiendo: si estas corriendo .Net Framework no deberias preocuparte por la cantidad de parámetros de un método, el exceso de parámetros es malo solo son innecesarios
    • Propuesto como respuesta Don_Martin_ martes, 11 de octubre de 2016 18:24
    • Marcado como respuesta silvio.dol martes, 11 de octubre de 2016 21:03
    martes, 11 de octubre de 2016 18:24

Todas las respuestas

  • Hasta donde recuerdo jamas vi eso en la documentación ni para C# ni para VB .Net. El .Net framework tiene una gran cantidad de Métodos que llevan 4 o mas parámetros, y pasar de esa cantidad no creo que afecte significativamente el rendimiento, lo si debes tener en cuenta en es el tamaño de los datos de los parametros ahi esta el consumo de memoria; por otra parte salvo que se pasara un parámetro con un tamaño muy grande ( ej: el texto de un archivo muy grande)  o en un metodo recursivo, ahi si podrias tener algun inconveniente, sino no es necesario preocuparse

    Lo que se aconseja siempre es usar la menor cantidad de parámetros posibles por un tema de legibilidad del código y su mantenimiento eso no te debe limitar, tambien esta vigilar que el metodo en cuestión haga solo una tarea concreta y no pretenda abarcar un conjunto de problemas, en dicho caso conviene analizar si el método debe ser divido.

    Resumiendo: si estas corriendo .Net Framework no deberias preocuparte por la cantidad de parámetros de un método, el exceso de parámetros es malo solo son innecesarios
    • Propuesto como respuesta Don_Martin_ martes, 11 de octubre de 2016 18:24
    • Marcado como respuesta silvio.dol martes, 11 de octubre de 2016 21:03
    martes, 11 de octubre de 2016 18:24
  • "silvio.dol" escribió:

    > Tengo que crear una función que lleva 6 parámetros, pero leí hace tiempo que
    > cuando uno usa funciones con mas de 4 parámetros, no es recomendable por que
    > consume mucha memoria y muchos ciclos del procesador.

    ¿Dónde has leído eso? Desde luego, yo es la primera vez que escucho eso. Por supuesto que puedes crear un procedimiento con 6 parámetros sin que afecte a la memoria o los ciclos del procesador. Otra cuestión diferente es lo que haga el código fuente que tengas escrito en dicho procedimiento.

    > Si esto es cierto, es posible que utilizando estructuras se resuelva en estos casos.

    La verdad que un procedimiento con 20 parámetros de entrada, pues a lo mejor no tiene mucho sentido definirlo, pero no porque afecte al rendimiento, si no por la cantidad de parámetros que le tienes que pasar. Lo mismo, definiendo una clase o una estructura, con sus correspondientes constructores (Sub New) y procedimientos de propiedad, la función a lo mejor requiere que solamente le pases uno o dos parámetros.

    Pero habría que ver lo que hace esa función para saber si merece la pena o no implementar una clase (un tipo de dato de referencia) o una estructura (un tipo de dato de valor).

    Procedimientos en Visual Basic

    Argumentos y parámetros de procedimiento (Visual Basic)

    Procedimientos de función (Visual Basic)

    Tipos de valor y tipos de referencia

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    martes, 11 de octubre de 2016 18:36
    Moderador
  • Gracias martin por despejar mis dudas.

    Silvio Diaz

    martes, 11 de octubre de 2016 21:03
  • Muchas gracias enrique ahora ya no tengo dudas sobre esto.

    Silvio Diaz

    martes, 11 de octubre de 2016 21:04