Kotlin do Learning to Android Capítulo 3 Especificações de codificação

1. Estilo de nomeação

Se você não tiver certeza sobre o estilo de nomenclatura de um tipo, poderá usar o estilo de nomenclatura java.

  • Nomes usam camelCase (não use sublinhados)
  • O tipo começa com uma letra maiúscula
  • Métodos e propriedades começam com letra minúscula
  • Recuo com 4 espaços
  • Funções públicas devem ter documentação

2. dois pontos

Deve haver um espaço antes dos dois pontos entre um tipo e uma superclasse, e nenhum espaço é necessário antes dos dois pontos entre uma instância de um tipo e um tipo.

interface Foo<out T : Any> : Bar {
    fun foo(a: Int): T
}

3. Expressões lambda

Em uma expressão lambda, deve haver um espaço ao redor das chaves e da seta; além disso, o lambda deve estar fora dos parênteses o máximo possível.

list.filter { it > 10 }.map { element -> element * 2 }

As expressões lambda devem ser curtas e não aninhadas. É recomendável usá-la em vez de declarar parâmetros explicitamente; em expressões lambda aninhadas, os parâmetros devem ser declarados explicitamente.

4. formato do cabeçalho da classe

Se uma classe tiver apenas alguns parâmetros, a classe poderá ser escrita em uma linha.

class Person(id: Int, name: String)

Quando uma classe possui vários parâmetros, esses parâmetros devem ser exibidos em uma nova linha e recuados, e o ) dessa classe também deve começar em uma nova linha; quando essa classe herda de outra classe ou implementa uma interface, os parâmetros de seu pai classe deve estar em uma linha.

class Person(
    id: Int, 
    name: String,
    surname: String
) : Human(id, name) {
    // ...
}

No caso de herdar a classe e implementar a interface ao mesmo tempo, a classe pai deve ser escrita na frente e a interface deve ser escrita na parte de trás.

class Person(
    id: Int, 
    name: String,
    surname: String
) : Human(id, name),
    KotlinMaker {
    // ...
}

Além disso, os parâmetros em construtores também podem ter recuo duplo, ou seja, recuo com 8 espaços.

5.Unidade

Se uma função retornar Unit, o tipo de retorno deve ser omitido.

fun foo() {
    ...
}

6. Regras de uso prioritário para funções e propriedades

Em alguns casos, funções e propriedades somente leitura são intercambiáveis. Embora suas semânticas sejam semelhantes, às vezes é melhor usar propriedades e, nesses casos, usar propriedades em vez de funções:

  • nenhuma exceção é lançada;
  • A complexidade do espaço é O(1);
  • Pequena quantidade de computação (ou armazenada em cache após a primeira execução)
  • O valor de retorno após cada execução é o mesmo

Acho que você gosta

Origin blog.csdn.net/niuzhucedenglu/article/details/72818798
Recomendado
Clasificación