. . . . Normas de . Programación . . . .

1. Declarar explícitamente todas las variables.

Ing. Carlos Ernesto García, M.Sc.

Las siguientes normas deben aplicarse a todo ejercicio o trabajo de programación, independientemente del lenguaje y hábitos actuales de programación. Se adjunta algunos ejemplos para ilustrar la aplicación de estas normas. . !signar nombres mnemot"cnicos utili#ando la t"cnica MayMin y un máximo de 1$ caracteres a todos los objetos del programa% &ariables, 'unciones, m"todos, propiedades, módulos, archivos, bases de datos, etc. (or ejemplo, un módulo genera observaciones seg)n una distribución normal podría llamarse DistNorm o algo parecido* pero no DN, D o algo similar. +tro ejemplo% ,na variable destinada a contener el sueldo mensual de un empleado podría llamarse SueldoMes o algo parecido* pero no SM, S o algo similar. -. .scribir con letras may)sculas las palabras reservadas en la sintaxis del lenguaje utili#ado, siempre /ue tal sintaxis lo permita. .jemplo% 012L. 334+5 Listo6 !4D 3,ltimo78 6 D+ 9.:24 ;. ,tili#ar )nicamente las seis estructuras lógicas de la lógica estructurada en el 'lujo de ejecución% Secuenciación, SiEntonces-Sino, Hacer-Mientras, Hacer-Hasta-<ue, Hacer-Desde-Hasta y Seleccionar-Caso. =. Sangrar el conjunto de instrucciones interno de las estructuras lógicas tres espacios a la derecha con respecto al primer carácter del encabe#ado de la estructura. La estructuras lógicas del 'lujo de ejecución principal de un módulo y del programa principal deben tener cero sangría con respecto al primer carácter del encabe#ado del módulo. >. .l anidamiendo de estructuras lógicas no debe exceder de cuatro niveles, incluyendo el 'lujo de ejecución principal. ?. .structurar el programa de acuerdo a las t"cnicas de la programación modular. 2ncluir en la documentación externa el diagrama jerár/uico modular si se trata de (+( o el diagrama de estructura de clases si se trata de ++(. @. 4ing)n módulo o m"todo debe tener más de =$ líneas de código, incluyendo comentarios, declaraciones y líneas de continuación. A. Bada módulo o m"todo debe tener un encabe#ado en el /ue se describa dentro de un marco de asteriscos una breve descripción de su objetivo y cual/uier otra in'ormación relevante. 1$. Documentar internamente todos los módulos de manera breve e inteligente. ILUSTRACI N. (*****************************************) (* Buscar en tabla tbReglas el número de*) (* regla contenido en el objeto edSearch.*) (*****************************************) PROCED RE SearchRegla()! "#R CurRegla$%Regla& integer! BE'(% )(*+ ,mRegla DO BE'(% CurRegla&-tbReglas%umRegla."alue! %Regla&-Str*o(nt(edSearch.*e.t)! (/ %O* tbReglas./ind0e1(2%Regla3) *+E% BE'(% 44%o e.iste Bee5! lb%oE.is."isible&-*rue! tbReglas./ind0e1(2CurRegla3)! E%D E6SE BE'(% 44E.iste lb%oE.is."isible&-/alse! edSearch.Clear! dmRegla.Set/ocus! E%D! E%D! (*****************************************) (* Retornar al a7ar uno de los to8ens en *) (* *8n6ist. C4to8en delimitado con comas.*) (*****************************************) / %C*(O% Pic8Rand(*8n6ist&String)&String! "#R %$P& B1te! *8n& #RR#92:..:;3 O/ String! BE'(% <Pasar a =ector *8n to8en 5or to8en> %&-;! 44Contador de to8ens P&-POS(?$?$*8n6ist)! 44Posici@n de :a. coma )+(6E PA; DO BE'(% %&-%B:! *8n2%3&-Co51(*8n6ist$:$PC:)! Delete(*8n6ist$:$P)! P&-POS(?$?$*8n6ist)! E%D! %&-%B:! *8n2%3&-*8n6ist! <Escoger aleatoriamente to8en a retornar> Result&-*8n2Random(%)B:3! 44entre : 1 %
BoursesC 1?$@;> 1.doc D $'eb $1

> 1. . . . .E%D! . . . .doc D $'eb $1 . . E%D! BoursesC 1?$@.

Sign up to vote on this title
UsefulNot useful