Como desenvolvedor, deve haver especificações rígidas de código. Por esse motivo, resumi alguns casos de especificação de código.
Índice
1. Prefácio
2. Faixa de teste
3. Java Naming Specification-
3.1 Contrato público
3.2 Arquivos Java, sacos, sacos
3.3 Classe, especificações de nomeação de interface
3.4 Especificação de nomeação do método
3,5 constante
3.6 variáveis e parâmetros
3.7 Componente/componente
3.8
3.9 Número misterioso
3.10 outros
3.11 Exceção de Java
3.12 Nomeação da matriz
3.13 Regras de nomeação de tabela de banco de dados
3.14 Regras de nomeação de campo do banco de dados
3.15 Nome do arquivo JSP
3.16 Nome do servlet
4. Especificação de formato de escrita
4.1 ENDIX
4.2 Espaço
4.3 Alinhamento
4.4 linha vazia
4.5 Nota
5. Estilo de arquivo de código
1. Prefácio para garantir a legibilidade do programa de origem do sistema, aprimorando assim a manutenção do sistema do sistema e formula as seguintes especificações de programação para regular a programação do sistema. Os programas de origem em outros recursos herdados pelo sistema também devem ser modificados de acordo com esta especificação.
2. O escopo do teste deste documento será usado como um formato de programação para o desenvolvimento do software do Sistema de Aplicativos Postal Hebei (idioma Java). Durante o processo de codificação, teste e manutenção do sistema, é necessário que seja estritamente observado.
3. Especificação de nomeação Java
3.1 Nomeação do nome do arquivo de origem, método, diretório, pacote, nome da tabela de banco de dados, campo de banco de dados, etc. No nome do nome do arquivo de origem, método, diretório, pacote, nome da tabela de banco de dados, nome da tabela de banco de dados, campo de banco de dados. Destacado
A nomeação usada pelo sistema é expressa em abreviações em inglês. Destacado
O método de nomeação é: prefixo+{nomeação abreviação de palavras}, o prefixo expressa o uso da nomeação, como tabelas de banco de dados. Destacado
O prefixo de nomeação é determinado pela equipe do projeto. Destacado
Outros objetos, exceto os objetos de manutenção pública do sistema, toda a nomeação usa uma minúscula. Uma maneira usa "_" como um símbolo de conexão, e a outra é conectar diretamente as primeiras letras da palavra Prime. Nesta especificação, o nome do banco de dados e o nome do campo do banco de dados adotam a primeira maneira, e o restante está da segunda maneira. Destacado
O uso pode ilustrar com precisão o descritor completo em inglês da variável/campo/classe/interface/bolsa. Por exemplo, usando nomes como FirstName, ListAllUsers ou corporatecustomer, é estritamente proibido usar Pinyin chinês e palavras não relacionadas. , métodos, variáveis, campos, etc. nomeados
Usando uma mistura minúscula para melhorar a legibilidade do nome. Geralmente, letras minúsculas devem ser usadas, mas as primeiras letras dos nomes e nomes da interface, e a primeira letra de qualquer palavra intermediária devem ser maiúsculas. Todos os nomes de pacotes. Destacado
Tente usar como poucas abreviações, mas se você precisar usá -lo, quando usa abreviações públicas e abreviações habituais, como o implemento pode ser abreviado como Impl, os gerentes (gerente) podem ser abreviados como Move abuso de abuso. (Evite usar nomes longos (de preferência não mais de 25 letras).
Evite usar números, mas 2 pode ser usado em vez de, 4 em vez de, etc., como: go2jsp.
3.2 Arquivo Java, Bag
O nome do arquivo deve ser o mesmo que sua classe e a primeira letra da palavra é capitalizada. Destacado
O nome do pacote geralmente recebe o nome de projetos ou módulos e usa menos abreviações e nomes longos. Destacado
Pacote básico: com.czpost, todos os pacotes e arquivos pertencem a este pacote.
O nome do pacote é composto pelas seguintes regras: [Pacote básico].
A classe não deve ser definida diretamente no pacote básico.
3.3 Especificações de nomeação de categoria e interface Todas as palavras de todas as palavras. Use palavras que podem ser exatamente iguais, significado de interface, função etc. Geralmente usa substantivos. Destacado
A interface pode trazer o prefixo ou capaz, Ible, E e outro sufixo.
3.4 Método Método de especificação de nomeação A nomeação do método do padrão de nomenclatura deve usar descritores em inglês completo, uso misto de uma minúscula: as primeiras letras de todas as palavras intermediárias. A primeira palavra do método do método geralmente usa um verbo com uma cor de ação forte. O valor do valor usa o prefixo GET, a classe Value usa o prefixo definido e o prefixo da classe de julgamento é (has). Exemplo: getName () setSARRY () ISLOGON () Método Sequência de parâmetros: (pelo operador, conteúdo operacional, logotipo de operação, outros) Exemplo: public void reply (string soucest, string Oldstr, string newstr) {...... ...}
3.5 A constante usa uma palavra capitalizada em inglês completa e se conecta à linha entre palavras e palavras, como: default_value
3.6 Variáveis e variáveis de parâmetro são recomendadas para usar o método de nomeação húngara.
Variável da plataforma (incluindo int, curta, longa): comece com n, por exemplo: Ncrednum longo;
Variáveis de ponto flutuante (incluindo flutuação, dupla): comece com f, por exemplo: ftranamt duplo;
Variável de caractere: Comece com C, por exemplo: CHAR CPAGEFLAG;
Data Variável: Inicie com D, por exemplo: Data DToday;
Variáveis de string: comece com s, por exemplo: char spageno [2+1];
Variáveis globais: o tipo de dados com g, por exemplo: chsbankno [10+1];
Variáveis estáticas: as variáveis estáticas também são variáveis globais nos arquivos, e as regras de nomeação são as mesmas que as variáveis globais. Destacado
Variáveis de nível de nível: Variáveis de nível de sistema também são variáveis globais.
Por exemplo: char _sbankno [10+1] Não há 'g'.
As variáveis temporárias são geralmente nomeadas I, J, K, M e N, e geralmente são usadas para o número inteiro; C, D, E, geralmente são usadas para os tipos de caracteres.
3.7 Componentes/componentes devem adotar um componente de nomeação de descritores em inglês completo (componente de interface), seguido de regras de nomeação húngara como: BTNOK, LBLNAME. T Botão variável btn+xxxxxxx, por exemplo: btnsave, saída btn, btnprint, etc. Escolha CHC DIALOG
3.8 Uma coleção, como Array e Vector, deve ser nomeada por vários números para representar o tipo de objeto armazenado na fila. A nomeação deve usar um descritor completo em inglês. Como: vetor vproduts = new Vector ();
3.9 Os programas de números misteriosos geralmente usam algumas quantidades. Observe que a nomeação dessa constante deve expressar o significado do número e deve ser toda maiúscula, que se distingue do identificador correspondente à variável. Por exemplo, o número 50 pode ser definido como uma substituição constante chamada NUM_OF_EMPLAYEES.
3.10 As duplas devem ser usadas quando outras nomes indicam que elas representam vários valores. Como: orderItems.
3.11 Categoria anormal anormal Java consiste nas palavras que representam o tipo e exceção anormal, como o ActionXception.
Instâncias anormais geralmente usam e, ex, etc. Em múltiplas anormalidades, use esse nome ou abreviação anormal para adicionar e, ex, etc.
3.12 Matriz de nomeação de matrizes sempre deve ser nomeada da seguinte maneira: buffer de byte [] não buffer de byte [];
3.13 As regras de nomeação da tabela de banco de dados são separadas pelas linhas inferiores entre o prefixo e a palavra de nomenclatura.字 O nome consiste em uma letra minúscula. Destacado
Se a palavra de nomenclatura for composta de uma única palavra, ela poderá ser usada para ortografia completa; Entre as abreviações, use a linha inferior. Por exemplo: 库 例 例: Comece com 'T_' View: Comece com 'v_' 例 例 例: começou com 'T_' e o único índice da Library tabela no final de '_idx': 'final
3.14 Regras de nomeação de campo do banco de dados
Se a palavra de nomenclatura for composta de uma única palavra, ela poderá ser usada para ortografia completa; Entre as abreviações, use a linha inferior.字 O nome consiste em uma letra minúscula. Não há prefixo.
3.15 A nomeação do arquivo JSP usa uma descrição completa em inglês para indicar a função concluída pelo JSP, incluindo um verbo vívido, as primeiras letras, como: ViewMessage.jsp, Edituser.jsp ou forumchooser.jsp, etc.
3.16 O nome da classe Servlet geralmente corresponde aos objetos servidos com o serviço de sufixo, como: Usuários Service, TradeService, etc.
4. O formato de escrita exige estritamente o formato de escrita para tornar o programa de maneira limpa, fácil de ler e unificada. Recomenda -se que o programa de origem desenvolva a ferramenta Eclipse e as especificações do formato sejam pré -conjuntos na ferramenta.
4.1 Sugestões de insensões e recuo são baseadas em 4 grades vazias. Declarações de pré -processamento, dados globais, título, descrição adicional, descrição da função, etiqueta etc. são todos escritos. O "{" e "}" do bloco de frases está alinhado e alinhado com a linha anterior. O método padrão no Sclipse é o começo "{" não é uma linha separada e é recomendável alterar para o formato acima.
4.2 Em princípio, variáveis, classes, dados constantes e funções no espaço em princípio estão em seu tipo, o nome modificado é espaçado e alinhado de acordo com a situação. Pode -se ser usado no princípio das palavras -chave, como: se (...) e assim por diante. Os requisitos espaciais do operador são os seguintes: "::", "->", "[", "" "," ++ ","-"," ~ "," "!", "+"- "(Refere -se ao número positivo)" & "(citado) e outros operadores, como os dois lados do calculatório, não sem espaços (dos quais o sistema de símbolos de computação único -ye refere -se ao lado conectado da operação), outro Operadores (incluindo a maioria dos dois operadores de propósito e operadores e operadores e "operador de três eyed"?: "Uma grade vazia de ambos os lados, pode ser alinhada de acordo com a situação quando a função é definida, mas pode ser usada quando a função é implementado. "A grade não pode estar vazia ou multi -space quando você precisa se alinhar.
4.3 As linhas fechadas de alinhamento devem ser alinhadas em princípio, e o alinhamento inclui todas as peças como tipos, modificações, nomes e parâmetros. O comprimento de cada linha não deve exceder demais a tela. Indentação da primeira linha, ou seja, se sua próxima linha for "{", ela deve estar alinhada com a primeira linha. As definições variáveis são melhores para se alinhar com a adição de espaços ou teclas de guia, e as variáveis do mesmo tipo são melhores juntas. Como mostrado no exemplo a seguir: int nvalue;
4.4 Deve haver linhas vazias irregulares na linha vazia, como dez linhas vazias consecutivas. Cada parte da estrutura do arquivo do programa está vazia. Para as funções que você escreve, é recomendável adicionar "// -------" para se separar. Pelo menos uma linha deve estar vazia entre os dados internos da função e o código. disso. Existem pelo menos uma linha entre os quatro "P" na classe, e os dados e funções também devem estar vazios.
4.5 Notas Notas são a personificação específica da legibilidade do software. As anotações do programa geralmente representam 20%do número de codificação do programa, e os requisitos de engenharia de software não são inferiores a 20%. As anotações do programa não podem ser usadas em idiomas abstratos, como "processamento" e "ciclo" em linguagem abstrata. Evite comentários de cada linha de procedimentos, você pode adicionar um comentário na frente de um programa, com lógica clara de processamento. Os comentários são essenciais, mas muito deve ser demais. A seguir, são apresentadas quatro notas necessárias: Título e descrição adicional.的 Explicação de funções, aulas, etc. Deve haver explicações apropriadas para quase todas as funções. , se necessário, deve haver algumas instruções, como requisitos especiais de software e hardware. A declaração de funções públicas e classes públicas deve ser explicada pelo método e pelas idéias de design. Destacado
Deve haver uma certa explicação no pouco claro ou não transplante. Destacado
E uma pequena quantidade de outras notas, como comentários de variáveis personalizadas, tempo de escrita de código etc.
5. Os arquivos de arquivo de arquivo de código todos os arquivos java (*. Java) devem seguir as seguintes regras de estilo:
Para a geração de arquivos, para a classe de derivada Java padronizada, tente usar a ferramenta Eclipse para gerar o formato de arquivo para evitar arquivos de cabeçalho/implementação de cabeçalho de mão. E PACOTO/LINHA DE PACOTO DE IMPRESSÃO deve estar antes da linha de importação, o nome do pacote padrão na importação é antes do nome do pacote local e organizado na ordem das letras. Se a linha de importação contiver subdirectory diferente no mesmo pacote, ela deve ser processada com*.
Pacote hotlava.net.stats; Destacado
A anotação da cabeça do arquivo de anotação da cabeça do arquivo mostra principalmente algumas informações do arquivo, que é a descrição geral do programa, que pode aprimorar a legibilidade e manutenção do programa. A anotação da cabeça do arquivo geralmente está atrás da instrução Package/Imports e a descrição da classe. É necessário escrever pelo menos nomes de arquivos, criadores, tempo de criação e descrições de conteúdo. O formato deve ser restringido o máximo possível: /*** Título: OK para determinar a classe de posição do mouse* Descrição: Determine qual campo de trabalho é agora e retorna o número do trabalho* @coPyright: Copyright (c) 2002* @company: HIT * @Authoror: Rivershan * @Version: 1.0 */ Class O próximo é os comentários da classe, que geralmente são usados para explicar a classe. / ** * Uma classe reprimindo um conjunto de pacote e contagem de bytes Technus * é observável para permitir que ele seja o Watchet, mas apenas * relata as mudanças quando o conjunto atual é concluído e */ a seguir é uma definição de classe, que contém diferentes linhas Estende e implementa o contraset de classe pública estende implementos observáveis clonáveis Campos de classe
Em seguida, é uma variável de membro: / ** * Pacotes de pacotes * / protegido Int [] variáveis de membro público; Se as variáveis de membro definidas por procedência, privado e pacote forem claras, não há comentários.是 O método de acesso é a maneira de acessar a variável. É apenas para simplesmente usar as variáveis da classe para obter o valor, que pode ser simplesmente escrito na linha. (Pense pessoalmente que tente escrever o máximo possível)
/** * Obtenha os contadores * @return Uma matriz contendo os dados de estatísticas.
Public int [] getPackets () {return copyArray (pacotes, deslocamento);} public int [] getBytes () {return copyArray (bytes, office)] getPackets () {return packets;} public void setpackets (int [] pacotes) {This.packets = pacotes;}
Outros métodos não devem ser gravados em uma linha de construtor. Tipos de acesso ("público", "privado", etc. e qualquer "estática", "final" ou "sincronizado" deve estar em uma linha, e os métodos e parâmetros podem ser escritos um por um. Isso pode fazer métodos e Parâmetros mais fáceis de ler.
Counterset público (INT tamanho) {
this.size = size;
}
Se o método do clone puder ser clonado, o próximo passo é o método do clone: public Object clone () {)
tentar {
Contagem objeto obj = (campo) super.clone ();
} Catch (clonenotsupportedException e) {{
Lançar uma nova internet ("clonenotsuptortException inesperado:" + e.getMessage ());
}
}
O método de classe começou a escrever um método de classe:
/ ** * Defina a contagem de pacotes * galargumentExCiction {
// Verifique se as matrizes são de tamanho igual // if (r1.length! Tamanho das notícias "; System.arraycopy (R1, 0, R3, 0, R1.Length); System.ArrayCopy (R2, 0, R4, R4, R1.Length); uma classe deve definir o método da tostragem:
public string tostring () {String retval = "Countryset:"; ();} Retornar retval;}
Se o método principal for definido, ele deve ser escrito na parte inferior da classe.