Nós precisamos de padrões

Bom recentemente tive contato com um post maravilhoso do nosso amigo Thiago Belem, que tenho certeza muito de vocês conhecem. Gostei tanto do post que não poderia deixar de postá-lo aqui para vocês, então segue o conteúdo:

Link Original

 

Ontem o InFog publicou o artigo PHP: Sim, nós precisamos de padrões que eu concordo em gênero, número e grau… então resolvi reproduzí-lo na íntegra aqui e adicionar alguns links/observações:

Se você é um programador web e tem o PHP como sua linguagem principal, ou uma das linguagens que mais usa, pode ser que você já tenha ouvido falar que a comunidade PHP está buscando se organizar e criar padrões para simplificar/melhorar/evoluir o ecossistema desta linguagem que é tão usada no mundo todo.

Se você ainda não ouviu falar disso, então está na hora de correr atrás e se antenar mais para não ficar para trás!

Onde começam os problemas?

PHP é uma linguagem criada para a web e cresceu na web. E isso tem seus pontos altos e seus pontos baixos. O ponto alto é que é realmente fácil começar a desenvolver para web com PHP, pois basta usar um servidor HTTP (ou o servidor embutido do PHP 5.4), um navegador, um editor de textos e pronto, você já começa com os “olá mundo!” da vida. Isso é algo fantástico no PHP e acaba trazendo muita gente para a linguagem.

Mas trazer muita gente significa trazer muita opinião, já que cada um pode fazer o que quiser e da forma que quiser. Com isso temos vários programadores, iniciantes ou não, construindo aplicações PHP em cada esquina por aí. Com várias aplicações sendo construídas  e nenhum padrão a se seguir, as pessoas acabam criando padrões e tentando convencer as pessoas que estão ao redor que  aquele padrão é bom.

No caso do PHP (e outras linguagens também), é possível escrever código de muitas maneiras diferentes e usando trocentos padrões e não padrões diferentes.

Como as pessoas acabam criando padrões e também acabam trabalhando em equipes de empresas e/ou comunidades, esses padrões se espalham e podem até se tornar padrões amplamente aceitos e utilizados. No PHP temos os padrões de código do PEAR e do Zend Framework, que são os mais conhecidos. Mas aí vem o pessoal dos outros frameworks e resolve que os padrões do PEAR do ZF não são tão bacanas assim e resolvem criar os seus padrões… Olha aqui o do CodeIgniter, o do CakePHP, o doKohana, o do Yii, o do … É, acho que já deu para entender, não é?

Neste cenário fica muito claro que existe uma segregação entre os frameworks e também entre os usuários e programadores destes frameworks. Todo mundo pensando que o outro é inimigo, concorrente, alguém a ser vencido e eliminado.

FIG

Como sempre existem aqueles que não buscam a guerra, aconteceu de um pessoal se juntar e começar a pensar “espera um pouco, qual é o motivo de brigarmos e repetirmos esforços?”, e desse questionamento nasce um grupo para tratar da interoperabilidade entre os frameworks, o FIG (Framework Interop Group).

E com isso as coisas se resolvem, o mundo se torna um lugar feliz e as pessoas passam a sorrir mais e a dormir melhor…

Não é bem por aí, já que, para funcionar a tal da interoperabilidade entre os frameworks, era necessário criar os padrões, para que todos trabalhassem de uma forma mais parecida e reaproveitável. O problema é, qual padrão usar? Já que, em teoria, todos estão corretos e cada um é o melhor de todos?

PSR

Depois de muita discussão começam a surgir as PSR (PHP Standards Recommendation), que são as recomendações de padrões para o PHP.

Veja bem, as PSR são RECOMENDAÇÕES, não obrigações. Ou seja, você faz se quiser fazer e se entender o bem maior que esta padronização pode trazer.

Com as PSR a tendência é ter componentes melhores e com mais possibilidades de reuso. Com isso podemos centralizar esforços em código bom e bons projetos, em vez de ficar cada framework com a sua comunidade refazendo tudo o que já existe por aí.

A PSR-0 trata do autoload de classes, assim não é mais necessário ficar fazendo o famoso include para trazer trechos de código de outros arquivos.

Já a PSR-1 é composta por regras básicas para a base de código, como arquivos sempre em UTF-8, namespaces seguindo a PSR-0, classes devem estar em StudlyCaps e métodos e funções emcamelCase, não usar a short tag do PHP e outras coisinhas.

PSR-2 é um guia de estilos mais completo, onde são definidos itens polêmicos como o uso de 4 espaços em vez de tabs, a abertura de chaves para classes, métodos e funções deve ser na linha abaixo da declaração, mas para blocos lógicos e laços deve ser na mesma linha (putz, esse me deu raiva… mas me acostumei com ele), e mais um monte de regras, que você se acostuma fácil depois de algumas horas seguindo.

Recentemente surgiu também o PSR-3, que descreve uma interface padrão para Loggers.

E o melhor de tudo é que o código das pessoas começa a ficar mais semelhante, mais organizado e isso facilita pacas na hora de manter um projeto que você não iniciou. Isso é empatia! Pensar no próximo (lembrando que muitas vezes “o próximo” somos nós mesmos uns meses depois).

Concluindo…

Padrões são bons, pessoal! Sério, a vida de desenvolvedor em comunidade (software livre, empresa, você e seu eu do futuro), fica muito melhor.

A comunidade PHP é conhecida por ser relaxada, desorganizada, preguiçosa e cheia de sobrinhos que pensam que programam e só sabem usar scripts prontos… Está mais do que na hora de mudar esse conceito sobre o PHP e sobre sua comunidade. A evolução está nos puxando para frente neste momento e não podemos ficar parados!

Fale sobre o FIG, as PSR e todo o movimento de melhorias e profissionalização do PHP com seus amigos, traga o pessoal para discutir e implementar melhores práticas e ajude a comunidade PHP a ser reconhecida como capaz.

(…)

Além disso, existe o PHP The Right Way, parada obrigatória para quem está aprendendo e/ou quer melhorar.

Link Original

Be Sociable, Share!

3 ideias sobre “Nós precisamos de padrões

  1. Acredito que a comunidade está se movimentando, e que há um numero cada vez maior, de desenvolvedores Php mais conscientes e não só estudando mais padrões como utilizando-os realmente. Algo que venho utilizando é o Composer acho que vale a pena um post sobre ele.
    Abraço e tomara que a comunidade php do maranhão se “compartilhe” cada vez mais.

    • Thomas a idéia é exatamente esta! Divulgar as boas práticas com o php, diminuindo o número de sobrinhos e aumentando o número de pessoas realmente qualificadas que possam agregar ao profissionalismo que o php têm, e a cada atualização vem se consolidade mais e mais. Em breve postaremos um contéudo sobre o composer, inclusive já estou até preparando. Abraços!

Deixe uma resposta