Wagner Andrade / 13 posts / 26 comments / feed / comments feed

Line break no HTML gerado pelo Rails

Existem várias formas de aplicar boas práticas de programação, são muitas recomendações que devemos seguir para obtermos códigos e aplicações com qualidade. Uma boa prática que cuido muito é o HTML resultante da aplicação, o que vai ser gerado ao usuário.

Em um HTML confuso e mal feito fica difícil dar manutenção. Já me disseram que esse tipo de detalhe é puro preciosismo, que não muda em nada o resultado final. Muda! A Apple é a prova que detalhes de acabamento mudam a cara de um produto, inclusive acabamentos internos. Muitas marcas conceituadas de automóveis também se encaixam nesse exemplo. “Mas Wagner, a maioria dos usuários nem sabe o que é HTML“, mas alguns sabem, e são esses que formam sua reputação no meio profissional.

As vezes olhando o fonte de alguns sites fico imaginando como seria a mesa da criatura que escreveu aquilo.

Bom, já fugi do assunto. Na verdade só quero mostrar uma funcionalidade do Rails - mais precisamente do ERB - que as vezes é esquecida.

Já perceberam que as linhas de código script no template erb (rhtml) geram linhas em branco adicionais? Por exemplo:

>> <% um 'if' qualquer aqui %>
>>   <p>Alguma coisa escrita aqui.</p>
>> <% end %>
>> <p>Outro elemento aqui.</p>

=>
=>   <p>Alguma coisa escrita aqui.</p>
=>
=> <p>Outro elemento aqui.</p>

Para eliminar as linhas em branco geradas pelo código, utilize -%> ao fechar a tag, desta forma:

>> <% um 'if' qualquer aqui -%>
>>   <p>Alguma coisa escrita aqui.</p>
>> <% end -%>
>> <p>Outro elemento aqui.</p>

=>   <p>Alguma coisa escrita aqui.</p>
=> <p>Outro elemento aqui.</p>

Nesse pequeno trecho quase não há diferença, mas em iterações maiores - linhas de uma table, por exemplo - faria uma diferença bem grande. Isso já ajuda a organizar um pouquinho mais seu HTML.

Como dizia minha avó, Seja Caprichoso! E eu já vi pessoas perderem empregos e namoradas por falta disso.

5 Comentários

  1. Leonardo Faria — 17 de julho de 2008

    que minimalismo interessante!

  2. Rafael — 17 de julho de 2008

    Legal, cara! Não sabia que o fiza isso….

  3. Carlos Brando — 18 de julho de 2008

    Você conhece Haml? Acho que vc ia gostar então…

  4. Wagner Andrade — 18 de julho de 2008

    @carlosbrando
    Já dei uma olhada em Haml uma vez, gostei, achei bem legal. Parece bem limpo. Mas adimito que gosto de escrever XHTML.

  5. miguel baldi — 21 de julho de 2008

    Cara, muito interessante. Muitas vezes eu usava isso nos meus loops mas não sabia bem o motivo. Código limpo é tudo. Abraço

Deixe um comentário