Una guía para programar con estilo.
Ademas de estos lineamientos generales, existen reglas particulares a el uso de estilos de lenguajes/frameworks:
- Android
- Backbone
- CoffeeScript
- Ember.js
- ERbs
- Git
- Haskell
- HTML
- JavaScript
- Objective-C
- Python
- Rails
- Ruby
- Sass
- Shell
- Swift
- Testing
- Evitar comentarios sobre la línea.
- Partir líneas mayores a 80 caracteres.
- Borrar espacios en blanco.
- No incluir espacios después de
(
,[
o antes de]
,)
. - No escribir con faltas de ortografía.
- No alinear verticalmente las fichas en líneas consecutivas.
- Indentar, sangrado o tabular líneas continuas en dos espacios.
- Indentar, sangrado o tabular los métodos privados iguales que los métodos públicos
- Si rompe una cadena de invocación de método, mantener cada invocación del método en
su propia línea. Coloque el
.
al final de cada línea, excepto el último. Ejemplo. - Utilizar la espacios (no tabs).
- Utilizar una línea vacía entre métodos.
- Utilizar líneas vacías alrededor de bloques de múltiples líneas.
- Utilizar espacios alrededor de operadores, excepto para operadores unarios, como
!
. - Utilizar espacios después de comas, después de dos puntos y punto y coma, alrededor
de
{
y antes de}
. - Utilizar [Unix-style line endings][newline explanation] (
\n
). - Utilizar Mayúsculas para palabras clave SQL y minúsculas para identificadores SQL.
- No utilizar abreviaturas.
- No utilizar tipos de objetos en los nombres (
user_array
,email_method
CalculatorClass
,ReportModule
). - Nombrar clases después de conceptos de dominio en lugar de patrones que
implementan (e.g.Guest
vsNullUser
,CachedRequest
vsRequestDecorator
). - Nombrar el parámetro de enumeración en la colección.
- Nombre de variables creadas por un factory a partir de ella(
user_factory
createsuser
). - Nombre de variables, métodos y clases para revelar la intención.
- Tratar las siglas como palabras en los nombres (
XmlHttpRequest
noXMLHTTPRequest
), incluso si el acrónimo es el nombre entero (class Html
noclass HTML
). - Variables con sufijo que sostienen una fábrica con
_factory
(user_factory
).
- Ordenar los métodos para que los métodos que llama sean anteriores en el archivo.
- Ordenar los métodos para que los métodos estén lo más cerca posible de otros métodos que llamen.