Estoy escribiendo un programa que verifica el número de parámetros de un método e imprime un mensaje de advertencia (es un programa de nombre de código) Si hay más de lo que es el estándar, el problema es que no sé cuál es el acuerdo número es. He mirado alrededor y no he tenido suerte. ¿Alguien puede decirme o al menos apuntarme en la dirección correcta?¿Cuál es el número estándar de parámetros que debe tener un método java?
Respuesta
No hay límite de serie en el número de parámetros que se pueden especificar en Java, pero de acuerdo con "código completo" (see this post) se debe limitar la cantidad de parámetros a aproximadamente 7, más y tendrá un efecto negativo en la legibilidad de tu código.
El número 7 probablemente proviene del hecho de que las personas solo pueden tener alrededor de 7 elementos en su memoria a corto plazo al mismo tiempo. –
gracias a todos por sus respuestas rápidas, creo que voy a ir con 6 parámetros. – user727308
Hay un máximo técnico de 255 parámetros que un método puede tener. – scravy
Puede usar cualquier número de argumentos en una función en java. No existe un límite estándar para tener este número de argumentos en función en Java. [Según sé] IMO como práctica no debería tener más de 4 argumentos para una función, pero este no es el estándar en el que puede tener una cantidad de argumentos .
No hay un límite estricto, pero diría que más de cinco es un olor de código en un lenguaje que no tiene argumentos clave (como Java).
Realmente no hay un número estándar de parámetros.
Esto realmente no tiene nada que ver específicamente con Java. Y definitivamente debes hacerlo configurable, porque hay puntos de vista bastante diferentes sobre esto.
En "Código limpio", Robert Martin argumenta que el número ideal de parámetros de método es 0, 1 está bien, 2 necesita una justificación sólida, y 3 o más requieren una dispensa especial del papa.
La mayoría de las personas considerará esto demasiado estricto y no parpadeará dos veces en un método con 3 parámetros. Probablemente pueda obtener un acuerdo general de que 6 parámetros son demasiados.
Checkstyle es una herramienta popular para comprobar el estándar de codificación Java.
Aquí está el enlace de la regla de la ParameterNumber: ParameterNumber
... que también pone el número máximo de parámetros en siete. –
Mi sincera opinión es que no hay límite definido para el número de parámetros. Mi preferencia personal no es tener más de 3 o al menos 4, ya que esto puede afectar la legibilidad y el mapeo mental (es difícil recordar más de 4 parámetros). También puede echar un rápido vistazo a Clean Code de Uncle Bob y Code Complete de Steve McConnell con respecto a esto.
Hay un hilo similar en StackOverflow ver When a method has too many parameters?
En Java no se puede definir más de 255 pararmeters de un método. Esta es la restricción.
Para y asesorar, el tío Bob dice que el número de parámetros de Codean máximo debe ser de tres.
- demasiados parámetros, el parámetro xxxxxxx está excediendo el límite de 255 palabras elegibles para el método de los parámetros
- 1. Número de variable de Java o argumentos para un método
- 2. ¿Cómo restringir el tipo genérico a debe tener un construtor que toma ciertos parámetros?
- 3. Java: Enumeración de parámetros en el método
- 4. ¿Cuál es el alcance predeterminado de un método en Java?
- 5. ¿Puedo tener un número variable de parámetros genéricos?
- 6. ¿Cuál es el conocimiento mínimo de CLR que un programador de .NET debe tener para ser un buen programador?
- 7. Método que acepta n Número de parámetros en C#
- 8. Función o método con un número desconocido de parámetros
- 9. ¿Debe una clase abstracta tener al menos un método abstracto?
- 10. ¿Cuál es el método que hace MemberwiseClone()?
- 11. ¿Por qué un archivo Java debe tener el mismo nombre que su clase pública?
- 12. ¿Debe tener extensiones Emacs?
- 13. ¿Cuál es el propósito de tener una variable privada con el método setter correspondiente?
- 14. ¿Es posible tener validadores con parámetros?
- 15. objeto anulable debe tener un valor
- 16. ¿Cuál es la identificación interna de un método Java?
- 17. ¿Cuál es la sobrecarga de memoria de un método Java?
- 18. ¿Cuál es el método predeterminado de HTTP?
- 19. ¿Cuál es el número teórico máximo de conexiones TCP abiertas que puede tener una caja Linux moderna?
- 20. ¿Cuál es la lista de patrones y principios que un programador debe/debe saber?
- 21. ¿Cuál es el objetivo del estándar C99?
- 22. ¿Qué valor debe tener el servicio Nombreprincipal?
- 23. Método de Ruby con número máximo de parámetros
- 24. ¿Es posible tener una llamada a un método dinámico para valores de parámetros predeterminados en Ruby?
- 25. ¿Debe una propiedad tener el mismo nombre que su tipo?
- 26. ¿Debe el nombre del método 'Obtener' incluir el nombre de los parámetros?
- 27. ¿Cuál es el número máximo en la parte de mantisa de un flotante Java?
- 28. ¿Cuál es el valor máximo de un número en Lua?
- 29. ¿Cuál es el método adecuado para restringir un número pseudoaleatorio a un rango menor?
- 30. estándar para el seno de un gran número
Cuarenta y dos es mejor. –
Creo que hay un límite en el código de bytes, lo que impide 256 o más parámetros (incluido 'this 'si no estático) –
Joshua Bloch (Google) dice que 3 o menos es ideal. –