Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Funciones, contratos y modularizacion (0x20XX)

Reglas sobre firmas, contratos, responsabilidad unica y modularizacion.

Universidad Nacional de Río Negro

Reglas sobre firmas, contratos, responsabilidad unica y modularizacion.

Tabla de reglas

ReglaTítuloAntipatrones integrados
0x2001hLas funciones deben usar cláusulas de guarda y retornos anticipados para reducir la anidación profunda
0x2002hLas funciones no deben contener printf o scanf, a menos que ese sea su propósito explícito
0x2003hTodas las funciones deben incluir documentación completa y estructurada
0x2004hNo se permite el uso de variables globales
0x2005hCada función debe tener una única responsabilidad (Principio de Responsabilidad Única)
0x2006hMantené el alcance de las variables al mínimo posibleAP-0x2007h
0x2007hLos valores de retorno numéricos deben definirse como constantes de preprocesador o enums
0x2008hLos ejercicios deben ser resueltos mediante funciones
0x2009hLos nombres de funciones y procedimientos deben usar snake_case en minúsculas
0x200AhModularización: una función no debe exceder 4 parámetros de entradaAP-0x200Bh
0x200BhProhibición de retornar la dirección de una variable local de stack
0x200ChCada función debe tener a lo sumo un return
0x200DhComentarios de cierre explicativos en bloques de control extensos (> 25 líneas)
0x200EhUso obligatorio de ‘void’ explícito en funciones sin parámetros
0x200FhProhibición de paréntesis superfluos en sentencia return
0x2010hProhibición de reasignar o modificar parámetros recibidos por valor dentro de la función
0x2011hProhibición de asignaciones múltiples a una variable sin lectura intermedia (dead store)
0x2012hTipo de retorno obligatorio ‘int’ en la función main()
0x2013hDetector de bloques else superfluos tras sentencias terminales
0x2014hCada función debe caber en una sola idea y en 25 líneas
0x2015hNo dupliques lógica: extraé una funciónAP-0x1017h
0x2016hEscribí el contrato de la función antes de implementarla
0x2017hToda funcion recursiva debe tener un caso base explicito(regla promovida de antipatrón)
0x2018hLos comparadores no deben usar resta sujeta a desbordamiento(regla promovida de antipatrón)