ESTNDARES DE PROGRAMACIN
Versin
nlaserna@pucp.edu.pe
ELABORADO POR:
SEMINARIO HUAMAN, LIZZETT NATALY
RIOS GRATE, CSAR HUMBERTO
BALBIN AVALOS, CAROLINA
DAZ MUGURUZA, SHEYLA ABIGAIL
CHVEZ LAZARTE, VICTOR ALFONSO
REVISADO POR:
20037185
20042153
20050373
20057079
20062038
jgallart@pucp.edu.pe
Sistema PlagiaTes-T
Sistema PlagiaTes-T
Estndares de Programacin
Versin 1.0
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
Historial de Revisiones
Fecha
02/04/2009
Versin
1.0
Descripcin
Versin inicial
Autor
Sheyla Daz Muguruza
Pgina 3 de 12
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
Tabla de Contenidos
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Introduccin.............................................................................................................. 4
Referencias............................................................................................................... 4
Definiciones Previas.................................................................................................4
Convencin de Nombres.......................................................................................... 4
4.1
Paquetes........................................................................................................... 4
4.2
Clases............................................................................................................... 5
4.3
Interfaces.......................................................................................................... 5
4.4
Mtodos............................................................................................................ 5
4.5
Variables........................................................................................................... 5
4.6
Constantes........................................................................................................ 5
Indentacin............................................................................................................... 6
5.1
Longitud de Lnea............................................................................................. 6
5.2
Romper Lneas................................................................................................. 6
Comentarios............................................................................................................. 7
6.1
Comentarios de implementacin......................................................................7
Declaraciones........................................................................................................... 7
7.1
Cantidad por Lnea........................................................................................... 7
7.2
Inicializacin..................................................................................................... 8
7.3
Colocacin........................................................................................................ 8
Estructura de Clases................................................................................................8
Definiciones de Objetos (javax.swing)......................................................................9
9.1
Nomenclatura de Swing Containers..................................................................9
9.2
Nomenclatura de Swing Controls......................................................................9
9.3
Nomenclatura de Swing Menus........................................................................9
9.4
Nomenclatura de Swing Windows..................................................................10
Consideraciones Generales....................................................................................10
Pgina 4 de 12
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
Estndar de Programacin
1. Introduccin
La finalidad de este documento es estandarizar la estructura y estilo de codificacin que
ser utilizado por los desarrolladores de los mdulos que integran el sistema PlagiaTes-T,
de manera tal, que el cdigo ser fcil de comprender y permitir un mejor mantenimiento
posteriormente.
Este documento es una adaptacin libre de las convenciones de cdigo para el lenguaje
de programacin Java de Sun, para la convencin de nombres, y contiene un fragmento
alineado a las necesidades del proyecto en curso, tambin algunos definidos previamente
por el equipo de desarrollo.
2. Referencias
Java Code Conventions- Sun Microsystems
http://java.sun.com/docs/codeconv/
Inc.
3. Definiciones Previas
CarnelCase
UpperCarnelCase
LowerCarnelase
Bloque
4. Convencin de Nombres
En este segmento del documento se listarn las convenciones utilizadas para nombrar
paquetes, clases, etc.
4.1 Paquetes
El nombre va en minsculas en caracteres ASCII, con el nombre del dominio
principal com, edu, gov, o algunas de las dos letras que identifiquen al pas; los
caracteres siguientes corresponden a la estructura de la organizacin.
Ejemplos:
com.sun.eng
com.apple.quicktime.v2
Pgina 5 de 12
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
com.mjn.enfamil.form
4.2 Clases
Los nombres de las clases generalmente son sustantivos que utilizan
UpperCarnelCase. Evitar usar acrnimos y abreviaturas, de preferencia utilizar
palabras completas.
Ejemplos:
Class Persona
Class Alumno
4.3 Interfaces
Las interfaces siguen las mismas reglas que las clases
Ejemplos:
Interface Almacen
4.4 Mtodos
Los nombres de los mtodos deben ser verbos, escritos en minscula, si son
compuestos se debe utilizar lowerCarnelCase para escribir los nombres.
Ejemplos:
ejecutar()
obtenerNombre()
4.5 Variables
Los nombres de las variables sern escritos utilizando lowerCarnelCase, no se
deben utilizar guion - o smbolo de dlar $ por convencin, pues estn
permitidos.
El nombre de una variable debe ser un mnemnico que indique su funcin, se
deben evitar nombres de variables de un solo carcter, excepto las variables
ndices temporales. Son comunes las letras i, j, k, m, n para enteros y c, d, e para
caracteres.
Se debe declarar una variable por lnea.
Ejemplos:
int i
char c
float numRegistro
4.6 Constantes
Las constantes se deben escribir en maysculas, si son nombres compuestos
deben ir separados por un subguin _
Pgina 6 de 12
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
Ejemplos:
static final int NUM_MAX = 100
static final int ANCHO_MIN =40
5. Indentacin
Se deben emplear un tab como unidad de indentacin
Utilizar esto:
If (condicion1 && condicin2) || (condicion3 && condicin4) ||
(condicion5 && condicin6) || (condicion7 && condicin8) ||
(condicion9 && condicin10){
Hacer()
}
O esto
If (condicion1 && condicin2) || (condicion3 && condicin4) ||
(condicion5 && condicin6) || (condicion7 && condicin8)
||(condicion9 && condicin10){
Hacer()
}
Pgina 7 de 12
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
6. Comentarios
Los programas en Java pueden tener dos tipos de de comentarios los de implementacin
y los de documentacin. Estos ltimos existen solo en Java y se limitan /** **/ , los
comentarios de implementacin son tambin los que existen en lenguajes como C++ y se
limitan /**/ y //.
Los comentarios de implementacin sirven para explicar el cdigo, y facilitar el
entendimiento y mantenimiento del mismo.
Comentarios de Bloque
Son comunes para la descripcin de ficheros, mtodos, estructuras de datos y
algoritmos. El formato es el siguiente:
/*
* Aqu va el comentario
*
*/
Pgina 8 de 12
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
7. Declaraciones
7.1 Cantidad por Lnea
Se recomienda una declaracin por lnea (aunque sean del mismo tipo), de
manera tal que se facilitan los comentarios
Ejemplos:
Int nivel;
Int tamanho;
7.2 Inicializacin
Se deben inicializar en el mbito en donde son declaradas, a menos que
dependan de clculos realizados despus de la declaracin
7.3 Colocacin
Se deben declarar al principio de un bloque. No esperar al primer uso, pues
puede crear confusiones para la comprensin del cdigo.
void miMetodo() {
int i=0
..
if (condicin) {
int j=2;
}
}
Nota:
Se debe evitar la declaracin de variables con el mismo nombre de otras de
mbito superior, pues es confuso.
8. Estructura de Clases
Cada clase tendr una estructura definida de la siguiente manera:
o
o
o
o
o
o
o
Variables estticas
Variables Pblicas
Variables privadas
Constructores
Finalizadores
Mtodos en general
Mtodos get() y set()
Pgina 9 de 12
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
Adems cada clase contar con comentarios de inicio (descripcin, versin y autor),
definido del modo siguiente
/**
* La descripcin de la clase viene aqui.
*
* @version datos de la versin (numero y fecha)
* @autor Nombre Apellido
*/
Prefijo
ifrm
pan
scp
tpn
tlb
Ejemplos: panFoto
Prefijo
btn
btg
cbx
cmb
lbl
lst
pwd
pgb
scb
tbl
txa
txt
txp
jt
jdc
jcl
Pgina 10 de 12
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
JRacioButton
jrb
Ejemplos:
txtNombre
treCursos
Prefijo
mnu
mnb
mni
Ejemplos
mniNuevo
Prefijo
cch
dlg
jfc
frm
opt
Ejemplos:
frmMiVentana
9.5 Otros
Window
DefaultTableModel
JDialog
JFileChooser
JFrame
JOprionPane
10.
Prefijo
dtm
dlg
jfc
frm
opt
Consideraciones Generales
o
o
o
La letra no debe ser utilizada para los nombres en general, utilizar en vez
de esta n o nh
Se debe evitar tener lneas de cdigo comentadas
Se debe comentar cada variable y /o mtodo que no tenga un nombre
Pgina 11 de 12
Sistema PlagiaTes-T
Estndares de Programacin
Versin: 1.0
Pgina 12 de 12