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)