O que você está procurando?
Hero background image
Práticas recomendadas de formatação para scripts C# no Unity

Embora possa não haver uma maneira correta de formatar seu código C#, concordar com um estilo consistente em toda a sua equipe pode resultar em uma base de código mais limpa, legível e escalonável. Esta página oferece dicas e considerações importantes a serem lembradas em suas aulas, métodos e comentários ao criar seu próprio guia de estilo.

Observação: As recomendações compartilhadas aqui são baseadas nas fornecidas pela Microsoft. As melhores regras do guia de estilo de código são aquelas que atendem às necessidades da sua equipe.

Você pode encontrar um exemplo de guia de estilo de código aqui ou baixar o e-book completo, Crie um guia de estilo C#: Escreva um código mais limpo e escalonável.

Formatando seu código

Junto com a nomenclatura, a formatação ajuda a reduzir suposições e melhora a clareza do código. Seguindo um guia de estilo padronizado, as revisões de código se tornam menos sobre a aparência do código e mais sobre o que ele faz.

Procure personalizar a forma como sua equipe formatará o código. Considere cada uma das sugestões de formatação de código a seguir ao configurar seu guia de estilo do Unity. Você pode optar por omitir, expandir ou modificar esses exemplos de regras para atender às necessidades da sua equipe.

Em todos os casos, reflita sobre como sua equipe implementará cada regra de formatação e depois faça com que todos a apliquem de maneira uniforme. Consulte o guia de estilo da sua equipe para resolver quaisquer discrepâncias. Quanto menos você pensar em formatação, mais produtivo – e criativo – você poderá trabalhar.

Vamos dar uma olhada em algumas diretrizes de formatação.

Propriedades

Uma propriedade fornece um mecanismo flexível para ler, gravar ou calcular valores de classe. As propriedades se comportam como se fossem variáveis ​​de membros públicos, mas na verdade são métodos especiais chamados acessadores.

Cada propriedade possui um método get e set para acessar um campo privado, chamado backing field. Dessa forma, a propriedade encapsula os dados, ocultando-os de alterações indesejadas do usuário ou de objetos externos. O “getter” e o “setter” têm cada um seu próprio modificador de acesso, permitindo que sua propriedade seja read-write, read-onlyou write-only.

Você também pode usar os acessadores para validar ou converter os dados (por exemplo, para verificar se os dados se ajustam ao seu formato preferido ou alteram um valor para uma unidade específica).

A sintaxe das propriedades pode variar, portanto seu guia de estilo deve definir como formatá-las. Consulte os exemplos a seguir para obter dicas sobre como manter as propriedades consistentes em seu código.

Propriedades com corpo de expressão

Use propriedades com corpo de expressão para propriedades somente leitura de linha única (=>): Isso retorna o campo de apoio privado.

Propriedade implementada automaticamente

Todo o resto usa a expressão-body { get; definir; } sintaxe: Se você deseja apenas expor uma propriedade pública sem especificar um campo de apoio, use a propriedade implementada automaticamente.

Aplique a sintaxe incorporada à expressão para o conjunto e obtenha acessadores. Lembre-se de tornar o “setter” privado se não quiser fornecer acesso de gravação. Alinhe o fechamento com a chave de abertura para blocos de código multilinha.

Classe serializável
UMA CLASSE OU ESTRUTURA SERIALIZÁVEL PODE AJUDAR A ORGANIZAR O INSPETOR.
Serialização

A serialização de script é o processo automático de transformação de estruturas de dados ou estados de objetos em um formato que o Unity pode armazenar e reconstruir posteriormente. Por motivos de desempenho, o Unity lida com a serialização de maneira diferente de outros ambientes de programação.

Os campos serializados aparecem no Inspector, mas você não pode serializar campos estáticos, constantes ou somente leitura. Eles devem ser públicos ou marcados com o atributo [SerializeField] . O Unity serializa apenas determinados tipos de campo, portanto, consulte a documentação para obter o conjunto completo de regras de serialização.

Observe estas diretrizes básicas ao trabalhar com campos serializados:

Use o atributo [SerializeField]: O atributoSerializeFieldpode funcionar com variáveis ​​privadas ou protegidas para fazê-las aparecer no Inspetor. Isso encapsula os dados melhor do que marcar a variável como pública e evita que um objeto externo substitua seus valores.

Use o atributo Range para definir valores mínimos e máximos: O atributo[Range(min, max)]é útil se você deseja limitar o que o usuário pode atribuir a um campo numérico. Ele também representa convenientemente o campo como um controle deslizante no Inspetor.

Agrupe dados em classes ou estruturas serializáveis ​​para limpar o Inspector: Defina uma classe ou estrutura pública e marque-a com o atributo[Serializable]. Defina variáveis ​​públicas para cada tipo que você deseja expor no Inspetor.

Faça referência a esta classe serializável de outra classe. As variáveis ​​resultantes aparecem em unidades recolhíveis no Inspetor.

Estilo de chave ou recuo

Existem dois estilos de recuo comuns em C#:

Oestilo Allman, também conhecido como estilo BSD (do BSD Unix), coloca as chaves de abertura em uma nova linha.

Oestilo K&R, ou “um estilo de chaveta verdadeiro”, mantém a chave de abertura na mesma linha do cabeçalho anterior.

Existem variações nesses estilos de recuo também. Os exemplos neste guia usam o estilo Allman das diretrizes de design da estrutura da Microsoft. Independentemente de qual você escolher como equipe, certifique-se de que todos sigam o mesmo recuo e estilo de chaves. Você também pode tentar as dicas nas seções a seguir.

Tabulações C sustenidas
CONFIGURAÇÕES DE TABS NO VISUAL STUDIO PARA WINDOWS
Escolha um recuo uniforme

O recuo normalmente é de dois ou quatro espaços. Faça com que todos em sua equipe concordem com uma configuração nas preferências do seu Editor sem iniciar uma guerra de abas versus espaços.

No Visual Studio para Windows, navegue até Tools > Options > Text Editor > C# > Tabs.

No Visual Studio para Mac, navegue até Preferences > Source Code > C# Source Code. Selecione o estilo de texto para ajustar as configurações.

Observação: O Visual Studio oferece a opção de converter tabulações em espaços.

Não omita os colchetes

Não omita os colchetes – nem mesmo para instruções de linha única. Os colchetes aumentam a consistência, o que torna seu código mais fácil de ler e manter. Neste exemplo, as chaves separam claramente a ação DoSomething do loop.

Se você precisar adicionar uma linha Debug ou executar DoSomethingElse posteriormente, as chaves já estarão no lugar. Manter a cláusula em uma linha separada permite simplesmente adicionar um ponto de interrupção.

Mantenha colchetes para maior clareza em instruções multilinhas

Não remova colchetes de instruções multilinhas aninhadas. A remoção do aparelho neste caso não gerará um erro, mas provavelmente causará confusão. Aplique colchetes para maior clareza, mesmo que sejam opcionais.

Padronize instruções switch

A formatação pode variar, portanto documente as preferências de sua equipe em seu guia de estilo e padronize suas declarações de mudança de acordo.

Aqui está um exemplo de recuo das declarações de caso.

Espaçamento horizontal

Algo tão simples como o espaçamento pode melhorar a aparência do seu código na tela. Embora as preferências pessoais de formatação possam variar, considere as sugestões abaixo para melhorar a legibilidade.

Adicionar espaços

Adicione espaços para diminuir a densidade do código. O espaço em branco extra dá a sensação de separação visual entre partes de uma linha.

Espaçamento após vírgula

Use um único espaço após uma vírgula entre os argumentos da função.

Sem espaçamento após parênteses

Não adicione um espaço após os parênteses e os argumentos da função.

Sem espaço entre uma função e parênteses

Não use espaços entre o nome de uma função e parênteses.

Evite espaços entre colchetes

Tanto quanto possível, evite espaços entre colchetes.

Espaçamento antes das condições de controle de fluxo

Use um único espaço antes das condições de controle de fluxo e adicione um espaço entre o operador de comparação de fluxo e os parênteses.

Espaçamento com operadores de comparação

Use um único espaço antes e depois dos operadores de comparação.

Dicas de legibilidade

Mantenha as linhas curtas e considere os espaços em branco horizontais. Decida uma largura de linha padrão (80 a 120 caracteres) e divida uma linha longa em instruções menores, em vez de deixá-la transbordar.

Conforme discutido anteriormente, tente manter o recuo/hierarquia. Recuar seu código pode aumentar a legibilidade.

Não use o alinhamento de colunas, a menos que seja necessário para facilitar a leitura. Embora esse tipo de espaçamento alinhe as variáveis, pode complicar o emparelhamento do tipo com o nome.

O alinhamento de colunas, entretanto, pode ser útil para expressões bit a bit ou estruturas com muitos dados. Esteja ciente de que pode ser mais trabalhoso manter o alinhamento das colunas à medida que você adiciona mais itens. Alguns formatadores automáticos também podem alterar qual parte da coluna é alinhada.

Espaçamento vertical e regiões

Você também pode usar o espaçamento vertical a seu favor. Mantenha as partes relacionadas do script juntas e use linhas em branco a seu favor. Tente o seguinte para organizar seu código de cima para baixo:

  • Agrupe métodos dependentes ou semelhantes: O código precisa ser lógico e coerente. Mantenha os métodos que fazem a mesma coisa lado a lado, para que alguém que esteja lendo sua lógica não precise pular o arquivo.
  • Use o espaço em branco vertical para separar partes distintas da sua classe: Por exemplo, você pode adicionar duas linhas em branco entre:
  • Declarações e métodos de variáveis
  • Classes e interfaces
  • blocos if-then-else (se ajudar na legibilidade)

Reduza isso ao mínimo e, se possível, acompanhe-o em seu guia de estilo.

Usando regiões em seu código

A diretiva #region permite recolher e ocultar seções de código em arquivos C#, tornando arquivos grandes mais gerenciáveis ​​e fáceis de ler.

No entanto, se você seguir os conselhos gerais para turmas deste guia, o tamanho da turma deverá ser gerenciável e a diretiva #region supérflua. Divida seu código em classes menores em vez de ocultar blocos de código atrás de regiões. Você estará menos inclinado a adicionar uma região se o arquivo de origem for curto.

Observação: Muitos desenvolvedores consideram as regiões como cheiros de código ou antipadrões. Decidam em equipe de que lado do debate vocês ficarão.

C Sharp Referências
A JANELA DE PRÉ-VISUALIZAÇÃO MOSTRA SUAS ESCOLHAS DO GUIA DE ESTILO.
Formatação de código no Visual Studio

Não se desespere se essas regras de formatação parecerem complicadas. Os IDEs modernos tornam eficiente sua configuração e aplicação. Você pode criar um modelo de regras de formatação e converter os arquivos do projeto de uma só vez.

Para configurar regras de formatação para o Editor de scripts:

  • No Visual Studio para Windows, navegue até Tools > Optionse localize Text Editor > C# > Code Style Formatting.
  • Use as configurações para modificar as opções Geral, Recuo, Novas linhas, Espaçamento e Quebra automática .
  • No Visual Studio para Mac, selecione Visual Studio > Preferencese navegue até Source Code > Code Formatting > C# Source Code.
  • Selecione a Política na parte superior e vá para a guia Estilo de Texto . Na guia Formato C# , ajuste as configurações de recuo, novas linhas, espaçamento e quebra automática.

Para forçar seu arquivo de script a estar em conformidade com o guia de estilo:

  • No Visual Studio para Windows, vá paraEditar > Avançado > Formatar Documento (Ctrl + K, Ctrl + D tecla de atalho). Se quiser formatar apenas espaços em branco e alinhamento de guias, você também pode usar Executar limpeza de código (Ctrl + K, Ctrl + E) na parte inferior do Editor.
  • No Visual Studio para Mac, vá para Editar > Formatar Documento (tecla de atalho Ctrl + I ).

No Windows, você também pode compartilhar as configurações do Editor em Ferramentas > Configurações de importação e exportação. Exporte um arquivo com a formatação de código C# do guia de estilo e faça com que cada membro da equipe importe esse arquivo.

O Visual Studio ajuda você a seguir o guia de estilo. A formatação torna-se então tão simples quanto usar uma tecla de atalho.

Observação: Você pode configurar um arquivoEditorConfig (veja acima) em vez de importar e exportar configurações do Visual Studio. Isso facilita o compartilhamento da formatação entre diferentes IDEs. Também tem o benefício adicional de trabalhar com controle de versão. Consulte as opções de regras de estilo de código .NET para obter mais informações.

Embora isso não seja específico para código limpo, confira as 10 maneiras de acelerar seu fluxo de trabalho de programação no Unity com Visual Studio. Lembre-se de que é mais conveniente formatar e refatorar código limpo se você aplicar essas dicas de produtividade.

Obtenha mais dicas de estilo de código

Saiba mais sobre convenções de nomenclatura aqui ou confira o e-book completo. Você também pode explorar nosso exemplo detalhado de guia de estilo de código.

Você gostou deste conteúdo?