Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.2.0

dart_code_metrics_annotations

Anotações para o DCM.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
16,2 mil
Curtidas
4
Pontos Pub
140

Instalar pacote

flutter pub add dart_code_metrics_annotations

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um conjunto de anotações projetadas para funcionar com o Dart Code Metrics (DCM) e fornecer metadados para análise de código. Essas anotações ajudam os desenvolvedores a marcar partes específicas do seu código Dart para inspeção aprimorada, como ignorar certas regras ou especificar métricas personalizadas. Elas se integram perfeitamente em projetos Flutter e Dart em múltiplas plataformas, permitindo um controle mais preciso sobre a análise estática. O pacote suporta linting e aplicação de qualidade de código por meio de diretivas configuráveis.

Casos de uso

  • Personalizando o comportamento da regra de lint
  • Melhorando verificações de qualidade de código
  • Integração com pipelines de CI/CD
  • Marcar trechos de código para análise especial
  • Apoiar padrões de codificação em equipe
  • Melhorando a manutenibilidade por meio de anotações estruturadas

Principais recursos

  • Fornece anotações específicas do DCM
  • Permite controle granular sobre a análise
  • Funciona com configurações de linter existentes
  • Suporta projetos multiplataforma
  • Facilita revisões automatizadas de código
  • Simplifica a governança de código baseada em métricas

Indicado para

  • Equipes de Dart e Flutter usando DCM
  • Projetos que exigem padrões rigorosos de qualidade de código
  • Ambientes CI/CD com linting automatizado
  • Desenvolvedores em busca de regras de análise personalizáveis
  • Equipes que impõem práticas consistentes de codificação
  • Projetos com foco na manutenibilidade de longo prazo

Considerações

  • É necessário instalar o Dart Code Metrics
  • As anotações são eficazes apenas quando usadas com o DCM
  • Pode ser necessário atualizar as configurações em .analysis_options
  • Não independente — depende de uma cadeia de ferramentas maior
  • Utilidade limitada sem integração ao fluxo de análise
  • Melhor usado em conjunto com outras ferramentas de qualidade de código

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Pub Version License package publisher

DCM Annotations

DCM is an advanced linter for Dart and Flutter that helps you analyze and improve your code quality. You can find all available lint rules here.

@Throws()

Used to annotate getters, methods, functions, parameters or local variables that can throw an exception (or multiple exceptions/errors) and therefore an invocation of such declarations must explicitly handle that exception.

For example:

@Throws()
void fn() { /* ... */ }

@Throws({IndexError})
void anotherFn() { /* ... */ }

void main() {
  try {
    fn(); // OK.
  } catch(_) {}

  fn(); // LINT.

  try {
    anotherFn(); // OK.
  } catch(_) {}

  try {
    anotherFn(); // LINT.
  } on Exception catch(_) {}
}

DCM will provide feedback if:

  • an invocation of a declaration with this annotation has unhandled exceptions
  • a declaration is not marked with this annotation, but can throw an exception
  • a declaration is marked with this annotation, but does not have any invocation that throws an exception

For more information, see the documentation for handle-throwing-invocations and prefer-correct-throws.

@AcceptedTypes()

Used to annotate fields or parameters that have a type Object, but should only receive a known subset of types (e.g. String and int).

For example:

void fn() {
  fn(1); // LINT
  SomeClass(false); // LINT
}

void fn(@AcceptedTypes({String, bool}) Object value) {}

class SomeClass {
  @AcceptedTypes({String, int})
  final Object field;

  const SomeClass(this.field);
}

DCM will provide feedback if an invocation receives an argument that does not match the type listed in the @AcceptedTypes().

For more information, see the documentation for pass-correct-accepted-types.

@mutated

Used to annotate parameters or variables that are changed/updated within the function/method body.

For example, the avoid-collection-mutating-methods and avoid-mutating-parameters rules will not trigger on annotated parameters and avoid-not-assignable-collection-types will include such parameters into its analysis.

DCM will provide feedback if the @mutated annotation is missing or unnecessary.

For more information, see the documentation for prefer-correct-mutated and other rules mentioned above.

How to use annotations

Take these steps to use annotations:

  1. Install this package as a regular dependency:

    dart pub add dart_code_metrics_annotations
    

    or:

    flutter pub add dart_code_metrics_annotations
    
  2. Enable rules that rely on DCM annotations and add those annotations to your code.

Categorias

Repositório-fonte

Projetos que usam este pacote