O núcleo do WP, muitos plugins do WP e os próprios padrões de codificação do WP usam uma "aplicação generosa" do Spacecaractere (não para identificação, mas "dentro" de parênteses e colchetes). Isso parece exclusivo do Wordpress - esse estilo / filosofia não parece estar presente em outros projetos similares, PHP ou outros.
Para obter mais informações sobre essa abordagem, consulte: https://make.wordpress.org/core/handbook/coding-standards/php/#space-usage
Exemplo: foreach ( (array) $foo as $bar ) { ...
Estou me referindo ao espaço após foreach, após o primeiro (
e antes do final )
(e outros espaços semelhantes mostrados em "Space Usage" no link acima).
Esse estilo me parece desnecessário - requer mais digitação e (opinião) torna o código de análise visualmente mais difícil.
Meu desejo não é debater se esse estilo é ou não uma boa ideia. Antes, eu simplesmente quero entender os motivos pelos quais esse é o estilo recomendado. Até comentaristas sobre os padrões de codificação WP são curiosos:
As respostas fornecidas à pergunta de MK Safi são essencialmente:
- Para legibilidade
- Status quo (aka "É assim que as coisas são")
Meu raciocínio para perguntar é que, pessoalmente, não vejo muito valor em adotar os padrões de codificação WP (relativos a "Uso do espaço") em nossos projetos internos. No entanto, estou curioso para saber se está faltando alguma coisa.
Existem razões além das duas listadas acima, ostensivamente válidas ou não, para seguir o estilo "Uso do espaço" do Wordpress?
fonte
Respostas:
Ressonância
Em relação ao "espaço em branco" (não importa se tabulações ou espaços): é simplesmente uma preferência pessoal que permaneceu no projeto.
Os padrões de codificação WP imo são uma bagunça e podem ser ignorados - desde que você não esteja contribuindo para o núcleo, o que é
Alternativas
É melhor você seguir os padrões PSR (a saber: 2) ou coisas como os padrões Symfony (ou apenas os seus).
Ferramentas e aumento de desempenho
Você não obtém lucro por ter um padrão de codificação (além de ter um para compartilhar e a minoria que o odeia, enquanto o resto o dita) ou por ter mais ou menos tabulações ou espaços. Caso esteja preocupado com o espaço em disco desnecessário usado ou com programas mais lentos, você ainda pode compactar seu código (consulte o projeto GitPHPHooks ) ao confirmar. O benefício que você vai ganhar vai ser em torno de no máximo 5% do espaço de arquivo original, praticamente igual ao que HTML sintaxe compressão / minification lhe dá. Existem ferramentas de minificação do Node.js disponíveis via npm para isso.
O que pessoalmente achei realmente útil é o PHP Linter e o _PHP Mess Detector. Incorporei os dois na Biblioteca GitPHPHooks para não precisar pensar ou me preocupar em executá-lo.
fonte
Os espaços após os pontos são normais, como
$baz . '-5'
, esse estilo é usado em muitos padrões de codificação para operadores (y + z
).Isso é feito para melhorar a legibilidade, por exemplo, um deles é mais legível que o outro.
Isso se torna ainda mais óbvio quando cercado por outro "código".
Quanto aos espaços entre parênteses,
( 1, 2, 3 )
eu não tenho ideia, acho que o argumento é de legibilidade também.Pode ser confuso, já que os próprios padrões do WordPress têm exemplos entre parênteses nos comentários que não têm espaços e a própria base de código é confusa com algumas partes com espaços e outras sem (veja a captura de tela abaixo), mesmo com a mesma função.
A maioria dos padrões PHP realmente faz o oposto de uma chamada para .. parênteses devem incluir seu conteúdo. De fato, a maioria dos padrões de codificação para outros idiomas o escreve assim:
(1, 2, 3)
é um pouco misterioso o motivo pelo qual o WP faz dessa maneira.Aqui está um exemplo para comparar a partir de uma função do WordPress.
Versão maior para comparar: http://i.imgur.com/nTEbV7v.jpg
Eu prefiro o da direita, especialmente quando vejo uma tela cheia de código, mas é uma preferência pessoal.
fonte
.
espaçamento faz sentido para mim, pois.
é realmente apenas um operador binário, assim como+
ou-
. Seus pensamentos entre parênteses "abraçando" o conteúdo deles são exatamente o motivo pelo qual eu fiz essa pergunta. Esse comportamento, junto com as regras ainda mais estranhas, como as entre colchetes (o WP diz usar$foo['bar']
e$foo[ $bar ]
), é exatamente o motivo pelo qual eu fiz essa pergunta. :)