+2

Padrões de Programação PEAR (parte 1)

criado por Marcelo Pereira Fonseca da Silva em 27/02/2004 11:02am
Estes padrões são impostos para pacotes que eventualmente possam ser
incorporados à PEAR um dia, logo, se quiser um pacote seu lá terá que
seguir rigorosamente estes padrões.

A primeira "regra" que ela sugere é a seguinte

"A indentação do código deve ter 4 espaços SEM TAB"

Bom, uma vez seguindo este padrão fui questionado sobre o
"porque não configurar meu editor para o tab conter 4 espaços"

Fiquei sem resposta!

E achei a mesma pergunta no site da PEAR e com uma resposta
óbvia e simples.

"Seu editor não é igual ao editor do seu amigo"

Em resumo você não vai nunca conseguir obrigar todos os programadores
a usar um mesmo editor, é como tentar fazer com que todos comprem
a mesma marca de carro. (impossível :))

Exemplo de código com o padrão acima:

<?php
codigo
    codigo_filho
        codigo_neto :)
?>

Este script foi desenvolvido usando 4 espaços SEM a tab, para programadores com algum tempo é difícil re-aprender e talvez nem o façam, mas é sempre bom melhorar!

A segunda dica é sobre estruturas de controle

Para quem não sabe estruturas de controle são os famosos if, else, elseif que irão destringir partes do código, ou ainda, dividí-lo em blocos.

Executando, dependendo claro, que a expressão seja satisfeita.

Exemplo:

<?php
if ((condição1) || (condição2)) {
    // faça alguma coisa, sempre com 4 espaços
} else {
    // ou então faça outra com 4 espaços também
}
?>

Comentários:

Mostrando 1 - 10 de 10 comentários
Acho que o mais importante que o modo é usar uma boa identação dessa forma o código fica bem claro.

PHP
if (condição) {
comando;
comando;
comando;
}

Delphi
if condição then begin
comando;
comando;
comando;
end;

Python (melhor ainda, identação obrigatoria)

if condicao :
comando
comando
comando
comando

comando
comando

18/10/2006 6:44am (~16 anos atrás)

eu sempre utilizei a metodologia PEAR pra programar... mas eu só programo assim pq eu aprendi desde 1996 a programar desse jeito e pra mim ficou meio que automatico , então programar de outra forma não faz diferença... pra mim o importante é programar de uma forma que eu entenda melhor.. e até agora sempre foi o PEAR....agora nao conheço outras... mas na hora da pressa de terminar um projeto eu faça um if tipo assim
if(algumacoisa menor que outracoisa){acontecealgumacoisa}else{morrealguem}
tudo numa linha só ahauhauhauhauhauh

Ah e esse negocio de botar IF dentro de IF não concordo com isso pois isso lança mais uma thread pro sistema processar , então protejo a idea de 1 IF somente..

1 IF = 1 thread
2 IF = 2 thread
05/10/2006 7:51am (~16 anos atrás)

Bom, particularmente falando, nao estou interessado em entrar em questao de IF dentro de IF. Soh queria deixar um comentario sobre os padroes da PEAR:

Acho muito mais dificil de ler um codigo assim:

if (sei la o q) {
nao sei tb;
}

do que assim:

if (sei la o q)
{
nao sei tb;
}

Acho muito mais "limpo" da segunda maneira, deixando a abertura de chaves na outra linha. Alem de ser mais facil de detectar erros...
22/09/2004 1:52pm (~18 anos atrás)

Embora em muitos casos o switch possa ser usado, há situações que em que precisamos testar diferentes condições envolvendo diferentes variáveis. Nestes casos o "if dentro de if" é a única maneira de se fazer.
14/04/2004 10:51am (~18 anos atrás)

é essa solução mesmo que o Sílvio falou...

só tem o esquema do padrão da PEAR que fala sobre um espaço entre o nome da estrutura de controle no caso "switch" e a abertura do parênteses e se o primeiro "{" ficar na mesma linha também deve ter um espacinho..

switch () {
}

mas é essa a solução sim..
22/03/2004 6:47am (~18 anos atrás)

Silvio disse:
Tem: switch!!

switch($variavel ou expressao){
case opcao1: <comandos>;
break;
case opcao2: <comandos>;
break;
default: <comandos>;
}
21/03/2004 11:16pm (~18 anos atrás)

e tem algum outro jeito além de if dentro de if?
05/03/2004 2:31pm (~18 anos atrás)

mas que ninho de if é esse ? acho que além de mantermos um padrão de programação, devemos simplificar, evitando situações como essa. if dentro de if ? isso é muito feio !!!
04/03/2004 2:08pm (~18 anos atrás)

Jair Issa disse:
Ja utilizo modelos assim desde 91 programando em C, só que uma pequena diferença:
<?php
if ((condicao1) || (condicao2))
{
if(condicao1)
{

}
else
{

}
}
else
{

}
?>

ou seja nao coloco as chaver no final, isto evita muitos erros, fica um codigo limpo facilita muito a leitura do codigo.

28/02/2004 9:45am (~18 anos atrás)


Acho bem legal o uso de identação porque facilita muito a manutenção, a um tempo atras que venho identando meu codigo e isso resulta muito mais profissional, ainda mais pra quem presta consultoria e extremamente importante, mas além do identação tmb acho necessario o comentario em todo o codigo tirando mas num mais profundo tirando comentarios de if else como ja vi em varios script...

Valeu...
27/02/2004 11:39am (~18 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)