En primer lugar, la convención de nombres variables
Los nombres de variables utilizados comúnmente en camello, cuando se enfrentan a un sustantivo singular (acrónimo o abreviatura, como DNS), los términos específicos privada, dependiendo de si todo en mayúsculas o minúsculas. Ejemplos:
fue apiClient era urlString
En segundo lugar, la constante de las convenciones de nomenclatura
Con reglas variables, la integridad semántica y se esfuerzan por aclarar, el nombre no es demasiado largo.
Si el módulo es un complejo, para evitar confusiones, la función se puede definir en un archivo unificado en el paquete.
const TodayNoticias = "Hola" // Si más de un método constantes deben organizarse en paréntesis const ( systemName = "¿Qué" SYSVAL = "dasdsada" )
En tercer lugar, las convenciones de la interfaz de nombres
Interfaz con una función única sufijo de nombre er
Tipo de interfaz Lector { Read (p [] bytes) (n int, el error err) } nombre de la interfaz de dos integra una función de dos funciones, tales como: Tipo de interfaz WriteFlusher { Write ([bytes]) (int, error) Flush () error } Tres interfaces eran más similares al nombre de función de la estructura, tales como: Tipo de interfaz de coches { Comienzo() Detener() Conducir() }
En cuarto lugar, la estructura de las convenciones de nomenclatura
nombres de estructura deben ser sustantivos o frases nominales, como cuenta, libro, evitar el uso de tales Manager. Si las estructuras de datos tienen que ser serializado, como JSON, las iniciales, que incluye campos.
Cinco, convención de nomenclatura receptor
El concepto de golang receptor existencia en el nombre del receptor debe siglas, debe ser lo más consistente posible, para evitar esto, estupendo, y algunos otros idiomas como palabras clave semánticas
tipo A struct {} func (A * A) MethodA () { } func (A * A) methodB () { a.methodA () }
Seis función / método de designación
Debido a la particularidad Golang (sensibles al control de la función de visibilidad), además de la unidad de función especial a prueba la prueba de rendimiento, los siguientes principios
- El uso de camello. Las funciones y los parámetros necesarios se refleja en el nombre, no demasiado largo, como updateById, getUserInfo.
- Si los envases exteriores no necesitan funciones de acceso a favor comenzar con una minúscula
- Si necesita exponer al exterior del paquete es necesario para acceder a los nombres de función comenzará con un capital de
Una función típica es el nombre de la siguiente manera:
// Notas utilice siempre un doble barra, los sujetos fueron expuestos métodos func (* fileDao) AddFile (archivo * model.File) bool { como resultado: = db.NewRecord (archivo *) si el resultado { db.Create (archivo) } return result } // función no requiere el acceso a la parte exterior del paquete es el siguiente func removeCommaAndQuote (cadena de contenido) {string re, _: = regexp.Compile ( "[\\` \\,] +") strings.TrimSpace retorno (re.ReplaceAllString (contenido, "")) }
Siete Notas convención de nomenclatura
Cada paquete debe tener un comentario paquete, antes de que el paquete se encuentra. Si el mismo paquete de múltiples archivos, sólo tiene que escribir en un archivo, y si usted quiere la cabeza de cada archivo con los comentarios, debe añadir una línea en blanco en los comentarios y frente a los derechos de autor del paquete, o avisos de derechos de autor se paquete de como un comentario. Tales como:
// Copyright 2009 The Go Autores. Todos los derechos reservados. // El uso de este código fuente se rige por un estilo BSD // licencia que se pueden encontrar en el archivo de licencia. neta paquete
Cada uno comienza con una letra mayúscula método (es decir, puede ser derivado) debe ser anotado, y comienza con el nombre de la función. Tales como:
// Obtener el reenvío de enrutamiento correspondiente responderá a la solicitud GET func (c * Controlador) get () { ... }
Comenzar con una letra mayúscula que el método es un método público disponible a llamar, si quieres única forma de salir de su uso en este paquete, desarrollado en letras minúsculas. Tales como:
func (c * Controller) enrollamiento () { ... }
Comentarios deben usar una frase completa, la primera palabra de comentario deben estar al indicador de comentario, tan fácil de encontrar en godoc en.
Las notas deben ser un final del periodo.
Ocho, convenciones de nomenclatura de paquete
Nombre del paquete en minúsculas, utilice nombres cortos, en la medida de lo posible, y la biblioteca estándar no entren en conflicto. Nombre del paquete unificado forma singular.
Nueve, la convención de nomenclatura de archivos
Desde el archivo sin ningún tipo de relación con el paquete, pero evita el problema de las ventanas sensibles, por lo que la especificación de archivo recomendada de la siguiente manera:
El nombre del archivo debe utilizar siempre en minúsculas, con una división de subrayado entre diferentes palabras, sin camello, llamado debe ver el nombre EENOW como sea posible. Trate de ver su nombre lo indica, vio el nombre de archivo que se pueda conocer el contenido de este documento bajo los cuales que _test.go final, además del archivo de prueba, llamada _ no aparecen los archivos de prueba.