Skip to content

001 — Objetivo e valores do Yii ​

Objetivo ​

O projeto Yii tem como objetivo construir e manter ferramentas e uma comunidade práticas e úteis.

Valores ​

Os valores que expressamos em nosso trabalho apoiam esse objetivo. Procuramos

Ser práticos ​

Alto desempenho ​

Desempenho é uma condição necessária para a praticidade. O software não deve desperdiçar recursos de máquina nem recursos humanos.

Padrões sensatos e flexibilidade ​

Preferimos padrões e convenções sensatos que os usuários possam personalizar. Buscamos um equilíbrio entre flexibilidade, disciplina e simplicidade que atenda às necessidades comuns.

Ser orientado à prática ​

Preferimos a prática à teoria. Por exemplo:

  • Soluções para casos de uso conhecidos devem evitar complexidade excessiva, oferecendo apenas a flexibilidade necessária.
  • Implementações padrão devem levar em conta o uso prático.
  • A experiência é pelo menos tão útil quanto a teoria para orientar o design.
  • O contexto é fundamental para determinar o que é adequado.

Ser úteis ​

Esse valor orienta tanto as decisões técnicas quanto a atividade da comunidade. O desenvolvimento deve ser guiado pela forma como os recursos do software ajudam os usuários. Na comunidade, valorizamos qualquer contribuição útil, seja um pull request ou uma resposta no fórum.

Quando os outros princípios entram em conflito, escolhemos a solução mais útil para a comunidade.

Ser simples ​

As soluções devem ser simples e expressivas:

  • Usamos tanta complexidade quanto necessário, e não mais.
  • Evitamos soluções feias, a menos que não haja alternativa.
  • Menos regras é melhor do que mais regras.

Ser explícito ​

Preferimos soluções e código explícitos e óbvios. As soluções devem expressar claramente o que fazem. Por exemplo:

  • Uma solução direta é melhor do que uma abstrata, a menos que a abstração tenha um propósito prático.
  • Falhas ruidosas são melhores do que falhas silenciosas ou erros mascarados.
  • Conversões explícitas são melhores do que a conversão automática de tipos do PHP; type hints são bons.
  • Nada de mágica, a menos que seja necessário.

Ser consistente ​

Procuramos ser consistentes em:

  • Estilo de código
  • Nomenclatura
  • Design
  • Estrutura
  • Valores e objetivos