1. Estándares de escritura

1.1 Estructura del proyecto

---/html/
|---- /index                       
|---- /index/index.html         首页  
|---- /user/                    与用户相关的页面  
|---- /user/login.html          登录页
---/css/
|---- /base.css                 重置浏览器样式    
|---- /page                     逻辑页面的css
|---- /page/pagename.css        单独书写的css
|---- /common.css               css通用样式库
---/js/
|---- /lib                      公用组件
|---- /lib/jquery.2.2.3.min.js  调用jq库文件 
|---- /page                     逻辑页面的js
|---- /page/pagename.js         单独书写的js
|---- /common.js                公用方法
---/img/
|---- /page                     页面对应的图片
|---- /page/wap                 手机端图片夹
|---- /page/wap/wap_icon.png    手机端图标
|---- /logo.png                 公用图片

1.2 Estándares de nomenclatura de proyectos

Proyecto: nombrar con la palabra en inglés correspondiente al proyecto

Archivos y carpetas:

  • Todas las letras en minúsculas en inglés, se puede usar guion medio, no pueden aparecer otros caracteres, como login, my-order
  • Al llamar a archivos en `/lib`, se debe incluir el número de versión; los archivos comprimidos deben incluir la palabra clave `min`; otros complementos pueden no incluirlo, como: `/lib/jquery.1.9.1.js`

1.3 Formato y codificación

  • Archivos de texto: codificación `.xxx` UTF-8 (sin BOM)
  • Archivos de imagen: `.png` (PNG-24) `.jpg` (tasa de compresión 8-12)
  • Imágenes dinámicas: `.gif`
  • Archivos comprimidos: `.tar.gz` `.zip` `.rar`

2. Estándares de CSS

2.1 Estándares de nomenclatura de CSS

  • Todos los nombres usan palabras en inglés en minúsculas
  • No usar palabras de orientación simples directamente como nombres, como "left", "bottom"
  • No abreviar palabras, a menos que sean palabras obvias a primera vista
  • Para nombres largos o frases se puede usar el guion bajo como conector
  • Evitar demasiados niveles de anidación de selectores; menos de 3 niveles
  • No usar id de forma arbitraria; los id deben usarse según sea necesario, no abusar de ellos
  • Usar propiedades abreviadas de CSS, como padding: 0 10px 5px 5px, etc. Esto simplifica el código y además mejora la experiencia de lectura del usuario.

Referencia de nomenclatura a continuación:

Nomenclatura de estilos CSS Descripción
Nomenclatura pública de la página web
wrapper El perímetro de la página controla el ancho del diseño general
container o content Contenedor, utilizado para la capa más externa
layout Diseño
head, header Parte del encabezado de página
foot, footer Parte del pie de página
nav Navegación principal
sub_nav Navegación secundaria
menu Menú
sub_menu Submenú
side_bar Barra lateral
sidebar_l, sidebar_r Barra izquierda o barra derecha
main Cuerpo de la página
tag Etiqueta
msg message Mensaje de aviso
tips Truco
vote Votación
friendlink Enlaces de amigos
title Título
summary Resumen
login_bar Barra de inicio de sesión
search_input Campo de entrada de búsqueda
hot Popular
search Buscar
search_output La salida de búsqueda es similar a los resultados de búsqueda
search_bar Barra de búsqueda
search_results Resultados de búsqueda
copyright Información de derechos de autor
branding Marca comercial
logo Logotipo del sitio web
site_info Información del sitio web
site_info_legal Aviso legal
site_info_credits Reputación
join_us Únete a nosotros
partner Socios
service Servicios
regsiter Registro
arr arrow Flecha
guild Guía
site_map Mapa del sitio
list Lista
home_page Página de inicio
sub_page Subpáginas de páginas de segundo nivel
tool, toolbar Barra de herramientas
drop Desplegable
dorp_menu Menú desplegable
status Estado
scroll Desplazamiento
tab Pestañas
left right center Alinear a la izquierda, centro, derecha
news Noticias
download Descargas
banner Barra de anuncios (barra de anuncios superior)

2.2 Estándares de escritura de CSS

Acercarse a la regla de "sin ID, sin jerarquía, sin etiquetas" para mejorar eficazmente la reutilización, reducir el tamaño del archivo y aumentar la eficiencia de renderizado.

2.3 Formato de comentarios en CSS

Comentarios utilizados para distinguir páginas, como /******************************************Centro de productos****************************************/

Comentarios de módulo, como /*Barra de navegación de la página de inicio*/

2.4 Orden de las propiedades CSS: no es un requisito estricto

  • Positioning (posicionamiento, como position, top, z-index)
  • Box model (modelo de caja, como display, box-sizing, width, border)
  • Typographic (tipografía, como font, line-height, text-align)
  • Visual (visual, como background, color, opacity)
  • Other (otros, como cursor)

Debido a que el posicionamiento (positioning) puede eliminar elementos del flujo normal del documento y también puede anular los estilos relacionados con el modelo de caja (box model), se coloca en primer lugar. El modelo de caja determina el tamaño y la posición de los componentes, por lo que se coloca en segundo lugar. Las demás propiedades solo afectan el interior del componente o no afectan los dos primeros grupos de propiedades, por lo que se colocan al final.

2.5 Formato CSS

Escribir sin saltos de línea para aumentar la velocidad de escritura

.box{background: none repeat scroll 0 0 transparent;bottom: 11px;position: relative;width: 22px;z-index: 33;}

2.6 Unidades de fuente en CSS

  • px píxel (Pixel), unidad de longitud relativa, el píxel px es relativo a la resolución de la pantalla del monitor.
  • em es una unidad de longitud relativa. Relativa al tamaño de fuente del texto dentro del objeto actual. Si el tamaño de fuente del texto en línea actual no se ha configurado manualmente, entonces es relativo al tamaño de fuente predeterminado del navegador.
  • rem también es una unidad de longitud relativa, pero relativa únicamente al elemento raíz de HTML.
  • vw representa el 1% del ancho de la ventana gráfica (Viewport). Si el ancho de la ventana gráfica es 1000px, entonces 50vw = 500px
  • vh representa el porcentaje de la altura de la ventana gráfica. Si la altura de la ventana gráfica es 800px, entonces 50vh = 400px
  • Notas para el uso en proyectos de la empresa: los proyectos existentes usan px como unidad; ahora se recomienda usar rem, vw, vh como unidades.

3. Estándares de JS

3.1 Estándares de nomenclatura de JS

3.1.1 Nomenclatura de variables en JS

Método de nomenclatura: nomenclatura de camello bajo (lowerCamelCase)

Regla de nomenclatura: el prefijo debe ser un sustantivo. (El prefijo del nombre de las funciones debe ser un verbo, para distinguir variables de funciones)

Sugerencia de nomenclatura: procurar reflejar el tipo en el nombre de la variable, como length, count, etc., que representan tipos numéricos; mientras que los que contienen name, title representan tipos de cadena.

Ejemplo

// 好的命名方式
var maxCount = 10;
var tableTitle = 'LoginTable';

// 不好的命名方式
var setCount = 10;
var getTitle = 'LoginTable';

3.1.2 Nomenclatura de funciones en JS

Método de nomenclatura: nomenclatura de camello bajo (lowerCamelCase)

Regla de nomenclatura: el prefijo debe ser un verbo

Sugerencia de nomenclatura: se pueden usar convenciones de verbos comunes

Verbo Significado Valor de retorno
can Verificar si se puede ejecutar una acción (permiso) La función devuelve un valor booleano. true: se puede ejecutar; false: no se puede ejecutar
has Verificar si contiene un valor La función devuelve un valor booleano. true: contiene ese valor; false: no contiene ese valor
is Verificar si es un valor La función devuelve un valor booleano. true: es un valor; false: no es un valor
get Obtener un valor La función devuelve un valor no booleano
set Establecer un valor Sin valor de retorno, devuelve si se configuró correctamente o devuelve un objeto encadenable
load Cargar algunos datos Sin valor de retorno o devuelve el resultado de si la carga se completó

3.1.3 Nomenclatura de constantes en JS

Método de nomenclatura: todos los nombres en mayúsculas

Regla de nomenclatura: usar letras mayúsculas y guiones bajos para combinar el nombre; el guion bajo se usa para separar palabras

Ejemplo

var MAX_COUNT = 10;
var URL = 'http://www.example.com';   

3.1.4 Nomenclatura de archivos JS

Usar guion corto (-) o punto (.) como separadores; se recomienda usar el punto, preferiblemente con caracteres en minúsculas en inglés; no usar otros símbolos ni caracteres extendidos. Por ejemplo, el archivo fuente de jQuery UI 1.9.0 podría llamarse "jquery-ui-1.9.0.js".

Usar la extensión .js, es la que tiene mejor compatibilidad. En realidad, cualquier extensión es válida siempre que sea de tipo texto y tenga la codificación correcta.

Usar puntos para separar las relaciones de subordinación en los nombres; el ámbito mayor va primero. Por ejemplo, el plugin de formularios de jQuery, Form, puede nombrarse como jquery.form.js.

3.2 Formato de comentarios JS

Usar comentarios multilínea, que comiencen con /* y terminen con */

3.3 Consideraciones sobre JS

Formato de escritura

  • Sangría de salto de línea en JS: usar tab (expandido a 4 espacios)
  • Las líneas finales deben llevar punto y coma `;`

Rendimiento

  • Preferir variables locales en lugar de variables globales
  • Usar en la medida de lo posible la escritura en cadena
  • Minimizar las llamadas al DOM
  • Colocar los scripts JS al final de la página
  • Usar data de jQuery para almacenar y obtener datos, reduciendo las operaciones sobre el DOM
  • Usar el método on para vincular eventos; es lo recomendado por jQuery
  • Selección de selectores: evitar en lo posible los selectores de etiqueta; si se puede usar un selector de ID, no usar selector de clase

4. Estándares de HTML

4.1 Estándares de uso de etiquetas

Reducir al mínimo los niveles de anidamiento de etiquetas

Las etiquetas dobles deben cerrarse; las etiquetas simples se cierran con barra inclinada

La primera línea de HTML debe usar de forma uniforme el estándar HTML5 <!DOCTYPE html>

Unificar la forma de escribir la barra inclinada final de las etiquetas: `<br />` `<hr />` (nota: dejar un espacio entre ambas)

Evitar el uso de etiquetas obsoletas, como: `<font>` `<frame>` `<s>`

Formato predeterminado de la etiqueta `<img>`: `<img src="../index.html" alt="texto predeterminado" />`

Formato predeterminado de la etiqueta `<a>`: `<a href="../index.html" title="nombre del enlace">xxx</>` Nota: `target="_blank"` se decide según los requisitos

style, link y script pueden omitir el atributo type, ya que text/css y text/javascript son sus valores predeterminados respectivamente

4.2 Comentarios HTML

<!--内容-->
<div class="content">
    <p>content</p>
</div>

4.3 Precauciones

El diseño adaptativo para móviles debe usar en lo posible diseño flexible (flexbox), en lugar de porcentajes

Los archivos `css` se colocan todos en la cabecera

Sangría de salto de línea en HTML: usar espacio de tab

Los demás archivos de efectos `js` y `código de estadísticas` se colocan al final

Las páginas para móviles se diseñan a 750px, y el efecto de visualización se basa en 375px


5. Estándares de imagen

5.1 Estándares de imágenes

Tamaño de imagen: al recortar imágenes, guardar en formato web para reducir el tamaño de la imagen

Dimensiones de imagen: usar siempre números enteros, como 20X20, 50X50

Combinación de imágenes: las imágenes pequeñas siempre deben combinarse, y se debe guardar el archivo psd correspondiente para poder modificarlas posteriormente

Enlace original: https://lingdianit-com.github.io/Front-End-Standards/