PDF de programación - Propuesta de conveción de Nombres para J2EE

Imágen de pdf Propuesta de conveción de Nombres para J2EE

Propuesta de conveción de Nombres para J2EEgráfica de visualizaciones

Publicado el 7 de Febrero del 2017
1.006 visualizaciones desde el 7 de Febrero del 2017
17,8 KB
5 paginas
Creado hace 18a (18/06/2001)
Propuesta de conveción de Nombres para J2EE

© www.javaHispano.com 2001

Guía de estilo de programación

Propuesta de convención de Nombres para JSP y Servlets

Esto pretende ser una guía de estilo de programación. Si se considera algún cambio,
adición,... será consultado al analista, que será quien decida si se acepta o no el cambio. El
analista deberá informar de cualquier cambio a los programadores, además , debe consultar con
ellos antes de hacerlo. (Se centraliza el proceso y se evita la anarquía).

Lenguaje : JAVA
Tecnologías : JSP, Servlets, ...

Notación:

Notación húngara. Recordar: en una variable se añade como prefijo una abreviatura del

tipo.

String sUsuario
Array de String asUsuario[10]
ResultSet rsConsulta
HttpServletRequest hsrq

Si la clase es un nombre muy largo, podemos, en casos obvios y puntuales (p.e. que en la

página sólo pueda haber una variable de este tipo) usar la abreviatura.

Los nombres de atributos, compuestos o no, tendrán en mayúscula la primera letra de cada

palabra que lo forma

HttpServletRequest.
String

Los nombres de métodos serán en minúsculas. Si se les añade un nombre o adjetivo, irá en

mayúsculas la primera.

ejecuta();
compraComida();

• Un Servlet empieza con mayúscula y acaba con la palabra S. P.e. MiServletS
• Un Bean sin estado acaba con SL (stateless bean)
• Un Bean con estado acaba con SF (stateful bean)
• Un Bean de sesión acaba con EB (entity bean)
• Salvo excepciones, en el servidor de servlets, se usará el mismo nombre lógico que el

real.

Enlaces a URLS, BBDD, etc...:

Siempre que sea posible declararemos las constantes, cuando tengamos que hacer

referencia a una URL, cuando usamos un usuario / clave continuamente, etc... Las constantes las
declaramos como generales (y no en el método que las referencia). Ejemplo:
En lugar de :

1

Propuesta de conveción de Nombres para J2EE

© www.javaHispano.com 2001

conML=DriverManager.getConnection("jdbc:mysql://raffaella/dietas","alfonso","
miclave");

Pondremos:

conML=DriverManager.getConnection(BASE_DATOS,USUARIO,CLAVE);

Y declararemos las constantes, BASE_DATOS, USUARIO, CLAVE como atributos

privados del servlet.

Declaración de variables y constantes:

Si la palabra es compuesta, en las constantes las separamos con subrayado.

Tipo1 CONSTANTE= valor,
t1Variable1=new Tipo1(),
t1Variable2=new Tipo1(valor),
. . .
Tipo2 CONSTANTE2 = valor2,
CONSTANTEN = valor3,
t2VarDos =new Tipo2(),
t2VarDosDosDos = new Tipo2();

Observar que las variables y constantes van agrupadas por tipo. Otra opción, que puede dar
más legibilidad, es declarar PRIMERO las constantes, agrupadas por tipo, y luego las variables,
agrupadas también por tipo. Si se hace así, se agruparán en el mismo orden de tipo y se usará el
mismo método para todo el proceso. Nunca cambiar el estilo de una página a otra en el mismo
proyecto.

Tipo1 CONSTANTE= valor,
CONSTANTE2=valork;

Tipo2 CONSTANTE3 = valor3,
CONSTANTEN = valorn;
. . .
Tipo1 t1Variable1=new Tipo1(),
t1Variable2=new Tipo1(valor);

Tipo2 t2VarDos =new Tipo2(),
t2VarDosDosDos = new Tipo2();
. . .

Es decir, para un proceso dado o agrupamos en orden de

[Tipo , (Constantes y Variables)]

ó en el orden

[(Constantes, Tipo) y (Variables,Tipo)].

Las constantes siempre en mayúsculas.

2

Propuesta de conveción de Nombres para J2EE

© www.javaHispano.com 2001

Se indicará para qué se usa cada variable con un comentario en la línea anterior a dicha
declaración. Cualquier comentario que se haga será en línea a parte, nunca a la derecha de la
línea de código.

Por supuesto que cada sentencia irá en su propia línea. Cuidado con la programación

ofuscada (anidamiento de sentencias), si se presta a confusión o la línea es grande, se divide,
aunque ello suponga declarar variables.

Se declaran las variables al nivel que se van a usar, a saber: clase, método y bucle. En el

caso de los métodos se declararán al principio, antes de cualquier línea de código. Si es necesario
se pueden declarar en otro momento, pero sólo si es necesario. En todo caso dejar una línea entre
sentencias de código y declaraciones de variables y declaraciones de constantes.

Tabular siempre que: se abra un paréntesis, después de una sentencia de control de flujo.

Los paréntesis se abren y cierran en la misma columna. Pero en líneas separadas a cualquier línea
de código.
Ej:

// al mismo nivel que la línea anterior

for (iRecorreVector = 0; iRecorre < 10; iRecorre++)
{
// Comentario indicando lo que vamos a hacer.
línea 1
línea 2
. . .
línea n
}//for
// al mismo nivel que la apertura y con comentario.

// un tabulado más

Programación

Para formularios, servlets,... se usará siempre que sea posible el método post.. Si no es
posible, el método get se redirecciona al método post y es en este en el que se implementa la
lógica. Y si no es posible (¿?) pues me lo decís para que me ría J

Por defecto se trabajará a nivel de sesión así que todo pasa por aquí.

<%@ page session="true" import = "paquete.clase, paquete.paquete.clase,..."
%>

En las jsp declarar todas las variables, iniciándolas, al principio. Antes de cualquier cosa

(incluido el html).

CONSTANTE= valor,

<%! Tipo1
t1Variable1=new Tipo1(),
t1Variable2=new Tipo1(valor),
. . .
%>

Sólo se insertará código java en medio del BODY cuando sea extrictamente necesario.
De hecho se hará todo antes de la la marca <HTML>.
No se implementarán clases en la página. Para ello se usarán beans, eso sí, funciones y

clases estándars no se implementarán en un bean para encapsular. (P.E. si se accede a una base
de datos, no será correcto crear un bean, que acceda , pedirle luego al bean que acceda ,
recuperar de él lo que sea, ... cuando se puede hacer directamente la consulta).

3

Propuesta de conveción de Nombres para J2EE

© www.javaHispano.com 2001

Si existen trozos de páginas comunes a un proyecto, p.e. un menú , se crea una página .jsp

aparte y se inserta la página. Se reduce así el mantenimiento de las páginas.

<@ include file ="menu.html" >

P.e. Podemos tener en una web en la que todas sus páginas tengan un menú común.

Haremos entonces una página con el menú (incluso sus javascripts asociados):

<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<th bordercolor="#FFFFFF"><h4>Main menu:</h4></th>
<th><a href="/CustomerSearch.jsp">Customer Search</a></th>
<th><a href="/CustomerListS">Customers</a></th>
<th><a href="/CustomerForm.jsp">Current Customer</a></th>
<th><a href="/OutletList.jsp">Outlets</a></th>
<th><a href="/PizzaList.jsp">Pizzas</a></th>
</tr>
</table>

y titularla (como menu.jsp). Luego en las jsp podemos poner el include.

Control de flujo

Si se abre un paréntesis, se añadirá un comentario al final.

if (soy_el_mejor)
dímelo
else
{
soy_el_mejor = verdadero;
dimelo;
}//else

Evitar la redundancia. En el ejemplo anterior dimelo TIENE que ir fuera de if .. else..

if ( ¡soy_el_mejor)
soy_el_mejor = verdadero
dimelo

Si hay un bucle, se comentará el motivo del bucle.

while ( no soy_guapo)
{
pedir(presupuesto); //obs. Esto es autocomentado
soy_guapo ßhacer_cirujia;
} //while

while ().
{
//dar vueltas hasta que sea guapo = añadimos esto
pedir(presupuesto);
soy_guapo ßhacer_cirujia;
si (soy_guapo)
break;
} //while

4

Añadir /Recuperar datos entre páginas/servlets.

© www.javaHispano.com 2001

Propuesta de conveción de Nombres para J2EE

Inicialmente usaremos sesiones. Para añadir un valor que sea necesario recuperar:

application.setAttribute("NombreParaRecuperar",
VariableAGuardar);

Ej. application.setAttribute("usuario", sUsuario);
Para recuperarlo

application.getAttribute("NombreParaRecuperar");

Ej: application.getAttribute("usuario");
Nota importante: Estamos trabajando con la especificación 2.3 de servlets
Es importante añadir a la cabecera sólo los datos más importantes para seguir la situación.
Es un compromiso del analista/programador decidir si un dato se recupera de un fichero, BDD o
se añade en la cabecera. Pero debería ir indicado en el documento de lanálisis

Imprimir datos en la salida estándar (jsp’s)

Dos opciones:

<%=session.getAttribute("H") %>
<% out.print(H);%>

Salvo excepciones, prevalecerá siempre la primera. Ej de excepción:

<% out.print( "<input type=\"hidden\" name=\"MLoculto\" value=\""+ sML+"\"
>");%>

Aquí que lo decida el programador y, si duda, que lo comente.

Alfonso María Vega Avelaira trabaja como desarrollador de Software Java en Vigo, España.
Cada vez que tiene un rato libre se tira al monte para escalar y dormir bajo un hotel de un millón
de estrellas.
Para cualquier duda o tirón de orejas, e-mail a: avega@arnal.es

5
  • Links de descarga
http://lwp-l.com/pdf2332

Comentarios de: Propuesta de conveción de Nombres para J2EE (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad