Está en la página 1de 8

ESTILO DE PROGRAMACIN PHP

Utilizar siempre el tag de apertura completo (<?php) y nunca la versin corta


(<?). Tambin es recomendable utilizar el constructor del lenguaje echo y no su versin
abreviada (<?= ?>). Esto nos ahorrar futuros errores si en la configuracin del
intrprete PHP en el servidor est deshabilitada la variable short_open_tag.
El uso del tag de cierre php (?>) en un documento PHP es opcional para el intrprete de
PHP. Sin embargo, si se utiliza, cualquier espacio en blanco introducido a continuacin del
tag de cierre de php, ya sea por el desarrollador, el cliente FTP, administrador de
sistemas, etc, puede provocar una salida inesperada, errores PHP, o incluso si ste es
ignorado por el servidor, una pgina en blanco. Por esta razn, todos los archivos PHP
que nicamente contienen cdigo PHP deben omitir el tag de cierre php y en su lugar
utilizar un comentario de bloque indicando que se ha llegado al final del archivo y, si se
quiere, su ubicacin en el sistema de ficheros relativa a la raz de la aplicacin. Este
comentario tambin permite sealar un archivo como completo y que no est truncado.
Correcto
<?php
echo "Here is my code!";
/* End of file myfile.php */
/* Location: /path/to/myfile.php */
Incorrecto
<?= "Here's my code!"; ?>
Globales, Constantes y Defines
Para nombrar constantes, valores globales y valores definidos mediante la
estructura define, han de utilizarse nombres con todas las letras en maysculas,
separados por guiones bajos si contienen ms de una palabra y procurar que sean
nombres descriptivos y con sentido, facilitando as su lectura en el futuro, tanto para el
propio desarrollador como para otros desarrolladores.
MUJICA VIVEROS EMMANUEL PROG.LOGICA Y FUNCIONAL TAREA: 1
Correcto
MI_CONSTANTE
define('VALOR_FIJO',1);
Incorrecto
miConstante // Evitemos utilizar camelCase
N // Constantes de una sola letra no nos dicen nada
S_C_VER // Este nombre no es descriptivo
Nombres de clases y mtodos
Los nombres de clases han de comenzar siempre con una letra en maysculas. Los
nombres con varias palabras han de separarse con guin bajo y no utilizar el estilo
camelCase. Los nombres de los mtodos de la clase han de escribirse siempre en
minsculas y procurar ser autodescriptivos, es decir, dejar bastante claro cul es la
funcionalidad del mtodo, preferiblemente incluyendo un verbo. Por supuesto, los
nombres de mtodos de clase tambin han de utilizar guiones bajos para separar las
palabras que lo componen. Hemos de evitar utilizar nombres de mtodos excesivamente
largos o con palabras redundantes.
Los nombres de mtodos que nicamente son accedidos internamente por nuestra clase
(mtodos privados) deben ir precedidos por un guin bajo.
Los constructores de clase han de utilizar el estilo PHP5 (public function __constructor()) y
no utilizar el estilo de PHP4, es decir, utilizar el nombre de la clase como constructor.
Hemos de utilizar destructores de clase cuando sea apropiado.
Se recomienda declarar explcitamente la visibilidad de variables miembro de clase as
como de los mtodos.
MUJICA VIVEROS EMMANUEL PROG.LOGICA Y FUNCIONAL TAREA: 1
ESTILO DE PROGRAMACIN PYTHON
Cdigo lay-out
Sangra
Utilice 4 espacios por nivel de sangra.
Las lneas de continuacin deben alinear los elementos envueltos en forma vertical
utilizando la lnea implcita de Python incorporarse dentro de los parntesis, corchetes y
llaves, o el uso de una sangra francesa. Cuando se utiliza una sangra de las siguientes
consideraciones deben aplicarse, no debe haber ningn argumento en la primera lnea y
ms sangra se debe utilizar para distinguir claramente como una lnea de continuacin.
S:
# Alineado con la apertura delimitador
foo = long_function_name (var_one, var_two,
var_three, var_four)
# Ms sangra incluye para distinguirlo de los dems.
def long_function_name (
var_one, var_two, var_three,
var_four):
print (var_one)
N :
# Argumentos en primera lnea prohibida cuando no utilice la alineacin vertical
foo = long_function_name (var_one, var_two,
var_three, var_four)
# Ms indentacin requerido como indentacin no es distinguible
def long_function_name (
var_one, var_two, var_three,
var_four):
print (var_one)
MUJICA VIVEROS EMMANUEL PROG.LOGICA Y FUNCIONAL TAREA: 1
Opcional:
Sangra # extra no es necesaria.
foo = long_function_name (
var_one, var_two,
var_three, var_four)
El cierre cors / soporte / parntesis sobre construcciones de varias lneas o bien puede
alinearse bajo el primer carcter distinto de espacio en blanco de la ltima lnea de la lista,
como en:
my_list = [
1, 2, 3,
4, 5, 6,
]
resultado some_function_that_takes_arguments = (
'A', 'b', 'c',
'D', 'e', 'f',
)
o puede ser alineado en el primer carcter de la lnea que comienza la construccin de
varias lneas, como en:
my_list = [
1, 2, 3,
4, 5, 6,
]
resultado some_function_that_takes_arguments = (
'A', 'b', 'c',
'D', 'e', 'f',
)
Tabs o espacios?
Los espacios son el mtodo preferido sangra.
Tabs deben utilizarse exclusivamente para mantener la coherencia con el cdigo que ya
est recortada por pestaas.
Python 3 no permite mezclar el uso de tabuladores y espacios para el sangrado.
MUJICA VIVEROS EMMANUEL PROG.LOGICA Y FUNCIONAL TAREA: 1
Cdigo Python 2 sangra con una mezcla de tabuladores y espacios se debe convertir a la
utilizacin de espacios en exclusiva.
Cuando se invoca el comando 2 intrprete de lnea de Python con el t- opcin, emite
advertencias sobre cdigo que mezcla ilegalmente tabulaciones y espacios. Cuando se
utiliza -tt estas advertencias se hacen errores. Estas opciones son muy recomendables!
Longitud mxima de lnea
Limite todas las lneas hasta un mximo de 79 caracteres.
Para que fluye largos bloques de texto con menos restricciones estructurales (docstrings o
comentarios), la longitud de lnea debe limitarse a 72 caracteres.
Limitar el ancho de la ventana editor requerido hace que sea posible tener varios archivos
abiertos de lado a lado, y funciona bien cuando se utilizan herramientas de revisin de
cdigo que se presentan las dos versiones en columnas adyacentes.
La envoltura de forma predeterminada en la mayora de las herramientas interrumpe la
estructura visual del cdigo, por lo que es ms difcil de entender. Los lmites se eligen
para evitar envolver en los editores con la anchura de la ventana establecido en 80,
incluso si la herramienta coloca un marcador de glifo en la columna final cuando se
envuelve lneas. Algunas de las herramientas basadas en web pueden no ofrecer el ajuste
de lnea dinmico en absoluto.
Algunos equipos prefieren fuertemente una mayor longitud de lnea. Para el cdigo
mantiene exclusivamente o principalmente por un equipo que puede llegar a un acuerdo
sobre esta cuestin, que est bien para aumentar la longitud de la lnea nominal de 80 a
100 caracteres (el aumento efectivo de la longitud mxima de 99 caracteres), a condicin
de que los comentarios y las cadenas de documentacin an estn envueltos a 72
caracteres.
La biblioteca estndar de Python es conservador y requiere limitar las lneas de 79
caracteres (y docstrings / comentarios a 72).
MUJICA VIVEROS EMMANUEL PROG.LOGICA Y FUNCIONAL TAREA: 1
La mejor forma de ajustar lneas largas es el uso de continuacin de lnea implcita de
Python dentro de parntesis, corchetes y llaves. Largas filas se pueden dividir en varias
lneas envolviendo las expresiones entre parntesis. Estos deben utilizarse en lugar de
utilizar una barra invertida como continuacin de lnea.
Las barras invertidas todava pueden ser apropiados en algunas ocasiones. Por ejemplo,
mucho, mltiples con -declaraciones no puede utilizar la continuacin implcita, por lo que
las barras invertidas son aceptables:
con open ('/ ruta / a / un / archivo / que / quiera / a / leer') como file_1, \
open ('/ ruta / a / un / archivo / de ser / escrito', 'w') como file_2:
file_2.write (file_1.read ())
Otro de estos casos es el de afirmar declaraciones.
Asegrese de guin de la lnea continua adecuada. El lugar preferido para romper en
torno a un operador binario es despus de que el operador, no antes. Algunos ejemplos:
clase Rectangle (Blob):
def __ init__ (self, anchura, altura,
color = "negro", el nfasis = Ninguno, highlight = 0):
if (anchura y altura == 0 == 0 y
Color == 'red' y el nfasis == 'fuerte' o
resaltar> 100):
raise ValueError ("lo siento, usted pierde")
si el ancho y la altura == 0 == 0 y (color == 'red' o
nfasis es None):
raise ValueError ("Yo no lo creo - Los valores son% s,% s"%
(Ancho, alto))
Blob.__init__ (self, anchura, altura,
color, nfasis, resalte)
Lneas en blanco
Funcin de nivel superior separada y definiciones de clases con dos lneas en blanco.
Definiciones de mtodos dentro de una clase estn separados por una lnea en blanco.
MUJICA VIVEROS EMMANUEL PROG.LOGICA Y FUNCIONAL TAREA: 1
ESTILO DE PROGRAMACIN EN JAVA
Formato de lneas
1. No usar ms de 80 caracteres por lnea (imagen de tarjeta). De esta forma se
pueden visualizar las lneas completas con un editor de texto o en una hoja
impresa tamao DIN A4.
2. Cuando la lnea sea mayor de 80 caracteres, divdala en varias partes, cada una
sobre una lnea. Salte de lnea al final de una coma o al final de un operador. Si se
trata de una expresin con parntesis salte, si es posible, a lnea nueva despus
de finalizar el parntesis. Por ejemplo, casos vlidos seran,
public void metodoHaceAlgo(int valor1, double valor2, int valor3){
resultado = aux* (final-inicial+desplazamiento) + referencia;
3. Use lneas en blanco como elemento de separacin entre bloques de cdigo
conceptualmente diferentes.
4. Sangre adecuadamente cada nuevo bloque de sentencias. Entre dos y cuatro
espacios en blanco son suficientes para cada nivel de sangrado. De esta forma se
aprecia visualmente la diferencia de nivel entre bloques de sentencias, sin rebasar,
normalmente, los 80 caracteres por lnea. A la hora de sangrar, y para evitar
problemas de compatibilidad entre editores de texto, use espacios y no
tabuladores. Por ejemplo,
public double calcularDescuento (double total) {
int aux=0; // Se sangra dos espacios
5.
if (total>LIMITE) {
total = total * 0.9; // Se sangra otros dos espacios
}
return total; }
Ficheros
1. Incluya una sola clase o interfaz por fichero, o al menos una sola clase o interfaz
pblica.
2. Si hay comentarios globales para los contenidos del fichero colquelos en primer
lugar.
3. Si la clase forma parte de un paquete, la sentencia package deber ser la primera
del fichero.
4. Si se importan paquetes, la sentencia import debe aparecer despus de la
sentencia package.
5. Coloque la declaracin de las clases o interfaces a continuacin de la sentencia
package.
MUJICA VIVEROS EMMANUEL PROG.LOGICA Y FUNCIONAL TAREA: 1
Clases
1. Coloque en primer lugar los comentarios sobre la clase (vea el apartado
comentarios).
2. Coloque los atributos (datos) a continuacin. Coloque primero las variables
estticas y a continuacin las variables de ejemplar en el orden: pblico (se
recomienda no incluir variables pblicas), protegidas y privadas, es decir, public,
protected y private en Java.
3. A continuacin se declaran los mtodos, con los constructores en primer lugar. El
resto de mtodos se colocar en orden de interrelacin y no por visibilidad. As, si
un mtodo pblico usa dos mtodos privados, se debera colocar primero el pblico
seguido de los dos privados. La idea es que al leer el cdigo se siga con facilidad
la funcionalidad de los mtodos. Las recomendaciones de los dos ltimos puntos
se resumiran de la forma siguiente,
class NombreClase {
variables estticas
variables de ejemplar pblicas (debe evitarse su uso) variables de ejemplar
protegidas
variables de ejemplar privadas
mtodos constructores
resto de mtodos
4. }
5.
6. No deje espacio en blanco entre el identificador del mtodo y los parntesis, es
decir, escriba,
public void nombreMtodo(int valor1, double valor2)
en lugar de,
public void nombreMtodo (int valor1, double valor2)
obsrvese el espacio en blanco delante de la apertura de parntesis.
Visibilidad de miembros de clase
1. Los atributos (datos) deben declararse privados (private) excepto los que se
pretenda que sean accesibles por herencia que deben ser protegidos (protected).
Se debe evitar el uso de datos pblicos.
2. Los procedimientos (mtodos) de la interfaz pblica deben declararse public, los de
soporte privados (private).
MUJICA VIVEROS EMMANUEL PROG.LOGICA Y FUNCIONAL TAREA: 1

También podría gustarte