Diferencia entre revisiones de «Sun Code Conventions»

De Dos Ideas.
Saltar a: navegación, buscar
m (Revertidos los cambios de 209.202.9.10 (disc.) a la última edición de Admin)
(Ver también)
 
Línea 128: Línea 128:
  
 
==Ver también==
 
==Ver también==
* [http://java.sun.com/docs/codeconv/ Sun Code Conventions]
+
* [http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html Code Conventions for the Java Programming Language]
 
* [http://www.programacion.net/java/tutorial/convenciones/ Sun Code Conventions (traducido al castellano)]
 
* [http://www.programacion.net/java/tutorial/convenciones/ Sun Code Conventions (traducido al castellano)]

Revisión actual del 15:23 30 jul 2012

Las convenciones de codificación en Java de Sun (Sun Code Conventions) es un documento que contiene convenciones estandard que Sun recomienda seguir. Las reglas cubren nombres de archivos, organizacion de directorios, identación, comentarios, declaraciones, sentencias, espacios en blanco, nomenclaturas, prácticas de programación e incluye un ejemplo de código.

¿Por qué tener una convención de codificación?

Las convenciones de codificación son importantes para los programadores por varias razones:

  • el 80% del costo del software ocurre en el mantenimiento.
  • prácticamente ningún software es mantenido toda su vida por el autor original.
  • las convenciones mejoran la lectura del software, permitiendo a los ingenieros comprender el código nuevo de manera más rápida y completa.

Clase de ejemplo

La siguiente clase de ejemplo trata de resumir en modo concreto el uso de la reglas. No abarca todas las situaciones ni reemplaza la lectura de las convenciones, sino que sirve como un recordatorio rápido de las situaciones más comunes


package java.blah;
import java.blah.blahdy.BlahBlah;
/**
 * La descripcion de la clase va aqui.
 *
 * @version 	1.82 18 Mar 1999
 * @author 	Nombre Apellido
 */
public class Blah extends SomeClass {
    /* Un comentario sobre la implementacion de esta clase podria ir aqui. */
    /** Documentacion de la variable classVar1 */
    public static int classVar1;
    /**
     * La documentacion de classVar2 es mas larga y compleja, y puede
     * abarcar mas de una linea de esta manera
     */
    private static Object classVar2;
    /** Documentacion de instanceVar1 */
    public Object instanceVar1;
    /** Documentacion de instanceVar2 */
    protected int instanceVar2;
    /** Documentacion de instanceVar3 */
    private Object[] instanceVar3;
    /**
     * ...documentacion del constructor Blah...
     */
    public Blah() {
        // ...la implementacion va aca...
    }
    /**
     * ...documentacion del metodo doSomething...
     */
    public void doSomething() {
        // ...implementation goes here...
    }
    /**
     * ...documentacion del metodo doSomethingElse...
     * @param unParam descripcion
     */
    public void doSomethingElse(Object unParam) {
       // ...implementacion aca...
    }
    /**
     * ...un metodo con ejemplos de sentencias...
     */
    public void mostrarEjemplosDeSentencias() {
         int maxloops = 10;
         int a = 0;
         int b = 0;
         int c = 0;
         int d = 0;
         a += c + d;
         a = (a + b) / (c * d);
         System.out.println("el valor de a es " + a + "\n");
         unMetodo((byte) a, (Object) x);
         if (condition) {
             statements;
         } else if (condition) {
             statements;
         } else {
             statements;
         }
         for (int i = 0; i < maxLoops; i++) {
            statements;
         }
         switch (condition) {
         case ABC:
             statements;
             /* falls through */
         case DEF:
             statements;
             break;
         case XYZ:
             statements;
             break;
         default:
             statements;
             break;
         }
         try {
             statements;
         } catch (ExceptionClass e) {
             statements;
         } catch (OtraExceptionClass e) {
             statements;
         } finally {
             statements;
         }
    }
}


Ver también