Anda di halaman 1dari 12

PONTIFICIA UNIVERSIDAD CATLICA DEL PER

FACULTAD DE CIENCIAS E INGENIERA


ESPECIALIDAD DE INGENIERA INFORMTICA
PLAGIATES-T GROUP

ESTNDARES DE PROGRAMACIN
Versin

PROPUESTO POR: Nora La Serna Palomino

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:

Joseph Gallart Surez

20037185
20042153
20050373
20057079
20062038

jgallart@pucp.edu.pe

Lima, 08 de Abril Del 2010

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

Estilo de escritura que se aplica a frases o palabras


compuestas. Existen 2 tipos. Upper y Lower.
La primera letra en mayscula. Ej:
- EjemploDeUpperCarnelCase
La primera letra en minscula. Ej:
- ejemploDeLowerCarnelCase
Cdigo encerrado entre llaves { }

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

5.1 Longitud de Lnea


Se deben evitar lneas de ms de 80 caracteres, pues muchas herramientas no lo
manejan correctamente

5.2 Romper Lneas


Cuando una expresin no entre en una lnea, esta se romper de acuerdo a los
siguientes principios:
o Romper despus de una coma.
o Romper antes de un operador
o Alinear la nueva lnea al comienzo de la expresin al mismo nivel de la lnea
anterior
Podran generarse confusiones por lo que se adjunta un ejemplo:
If (condicion1 && condicin2) || (condicion3 && condicin4) ||
(condicion5 && condicin6) || (condicion7 && condicin8) (condicion9
&& condicin10){
Hacer()
// Se pierde de vista la operacin Hacer()
}

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.

6.1 Comentarios de implementacin


o

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
*
*/

Comentarios de una Lnea


Son cortos y estn al nivel del cdigo que sigue. Tienen el formato de los
comentarios de bloque si no alcanzan en una lnea. Debe ir precedido por una
lnea en blanco
If (condicion) {
/*Cdigo de la condicin */
}

Comentarios de fin de Lnea


Se utiliza el delimitador // . puede utilizarse para comentar cdigo en varias
lneas
If (entero >1) {
// hacer algo
}
else return false // Explicar por qu

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;

// nivel del juego


// tamao del arreglo

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
*/

9. Definiciones de Objetos (javax.swing)


Para la definicin de controles se debe utilizar la convencin siguiente: tres letras
significativas (mnemotcnicas) del nombre del control seguido por el nombre de lo que
representa.

9.1 Nomenclatura de Swing Containers


Contenedor
JInternalFrame
JPanel
JScrollPane
JTabbedPane
JToolBar

Prefijo
ifrm
pan
scp
tpn
tlb

Ejemplos: panFoto

9.2 Nomenclatura de Swing Controls


Control
JButton
JButtonGroup
JCheckBox
JComboBox
JLabel
JList
JPasswordField
JProgressBar
JScrollBar
JTable
JTextArea
JTextField
JTextPane
JTree
JDateChooser
JCalendar

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

9.3 Nomenclatura de Swing Menus


Menu
JMenu
JMenuBar
JMenuItem

Prefijo
mnu
mnb
mni

Ejemplos

mniNuevo

9.4 Nomenclatura de Swing Windows


Window
JColorChooser
JDialog
JFileChooser
JFrame
JOprionPane

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

suficientemente descriptivo para su funcin


Los nombres de las clases van en maysculas.

Pgina 12 de 12

Anda mungkin juga menyukai