Ir al contenido

Guía de Flutter para novatos - Miguel Páramos

FAQ sobre Flutter pal que no tiene ni idea de Flutter | 2º DAM · PMDM

Parámetros nombrados entre llaves { } vs. posicionales: cuándo conviene usar cada uno

En Dart existen dos formas principales de recibir argumentos en funciones y constructores:

  • Posicionales: void enviar(String remitente, String mensaje) (el orden importa y son obligatorios salvo que se envuelvan en corchetes [] para hacerlos opcionales).
  • Nombrados (entre llaves { }): void enviar({required String remitente, required String mensaje}) (se invocan explícitamente por su nombre y el orden de paso es indiferente).

Comprender el criterio para elegir entre uno y otro estilo es clave para diseñar APIs limpias y legibles en Flutter.

  • En la inmensa mayoría de widgets (95% de los casos): Los widgets suelen tener múltiples propiedades opcionales (color, padding, margin, width, height). Sin parámetros nombrados, un constructor con varios parámetros resultaría ininteligible y propenso a errores: Container(null, null, Colors.red, null, 100, 200). Con parámetros nombrados el código es autoexplicativo y legible: Container(color: Colors.red, width: 100, height: 200).

Cuándo usar parámetros posicionales (sin llaves)

Sección titulada «Cuándo usar parámetros posicionales (sin llaves)»
  • Cuando una función o constructor tiene uno o dos argumentos obvios e indispensables donde escribir el nombre de la propiedad solo añadiría ruido innecesario.
  • Ejemplo clásico en Flutter: El widget Text('Hola mundo') en lugar de un redundante Text(text: 'Hola mundo').
  • En funciones matemáticas, utilidades directas o algoritmos breves: sumar(int a, int b).