Tableless - Desenvolvimento inteligente com Padrões Web

02/01/2011
Artigos

CSSDoc – padrão para documentação de folhas de estilo

Como padronizar seu código CSS com eficiência com CSSDoc.

Por


Cada designer ou desenvolvedor front-end tem o hábito de documentar o código CSS de uma forma diferente através dos comentários. Alguns colocam os nomes das seções, outros inserem uma descrição mais detalhada, alguns utilizam letras maiúsculas e uma sequência de caracteres para formar uma linha.

/* -----------------------------------*/
/* ---------->>> GLOBAL <<<-----------*/
/* -----------------------------------*/

/*
STRUCTURE > HEADER > LOGO
//////////////////////////////////////*/

Mas em nenhum destes formatos há uma padronização. Por isto, desde 2007 três desenvolvedores alemães têm desenvolvido a especificação do CSSDoc, que eu já havia mencionado em outro artigo.

O CSSDoc é uma convenção para documentar folhas de estilo herdada do conceito de DocBlock e permite uma forma padronizada de comentar arquivos CSS, facilitando a manutenção e a organização de arquivos compartilhados em uma equipe de desenvolvimento.

O uso desta convenção ajuda a estruturar arquivos CSS adicionando informações relevantes sobre o arquivo e seu respectivo conteúdo (classes, metadata, correção de bugs, etc). Para equipes de desenvolvimento, que necessitam compartilhar um mesmo arquivo com todos os membros da equipe, o uso do CSSDoc oferece de maneira clara e padronizada as especificações técnicas e comentários que clarificam as informações contidas no arquivo.

Para quem trabalha com Java e PHP provavelmente deve conhecer o conceito de DocBlock. Ele se assemelha a um comentário comum de código, entretanto, tem uma organização específica:

/**
* Descrição curta
*
* Exemplo de uma descrição
* longa com quebra de
* linha
*
* @tag valor
*/

Todas as especificações baseadas em DocBlock contém tags (identificadas através do @), que são propriedades do trecho de código descrito abaixo do comentário.

Os tipos de blocos de comentários do CSSDoc

Estrutura do CSSDoc

Estrutura do CSSDoc

Comentários de Arquivo (File Comments)

O File Comment é utilizado como descrição principal do arquivo CSS, aparece apenas uma vez no arquivo e deve ser escrito no topo. Geralmente nos comentários de arquivo são descritas informações sobre a função do arquivo e alguns metadados como autor, versão, etc.

Comentários de Seção (Section Comments)

Abrem seções em arquivos CSS e podem ser utilizados diversas vezes para estruturar o código CSS. O significado de “seção” é bastante amplo e depende do designer/desenvolvedor. Algumas seções comuns em CSS são: Reset, Layout, Tipografia, entre outros.

Principais tags do CSSDoc

Os comentários em CSSDoc podem fornecer diversas informações sobre os arquivos CSS e trechos específicos de código. Algumas tags referem-se apenas a informações do arquivo e são inseridas em File Comments, mas a maioria são utilizadas em Section Comments. Exemplos de algumas das tags mais utilizadas são:

  • @autor: comentário de arquivo, pode conter o nome e/ou o e-mail do autor do documento.
  • @colordef: comentário de arquivo, especifica a cor (em hexa ou RGB) e pode também ser fornecido o nome da cor e sua utilização seguido de ponto-e-vírgula.
  • @bugfix: comentário de arquivo e de seção, apresenta uma descrição resumida sobre um trecho de código para corrigir alguma incompatibilidade de navegador.
  • @css-for: comentário de arquivo e de seção, usado em conjunto com @bugfix para especificar qual browser está relacionado com a correção feita (Ex.: @css-for IE 6).
  • @section, @subsection e @subsubsection: comentários de seção, para indicar as seções de um código CSS em até 3 níveis. Quando utilizar @subsection, o bloco de comentário também deve também conter @section, e o mesmo para o @subsubsection, deve conter a @subsection e a @section.

Porque utilizar CSSDoc

A intenção desta padronização de comentários de código é fornecer uma especificação que possa ser interpretada por aplicações denominadas parsers, que geram uma documentação HTML navegável dos blocos de código comentados com CSSDoc.

O parser é uma aplicação responsável por analisar os trechos de comentários, extrair o comentário resumido, comentário longo e as tags para depois formatá-los em documentos HTML.

Esta documentação pode ser disponibilizada online, em uma intranet, extranet ou de outra forma que preferir. E dessa forma há um manual compreensível e de fácil acesso à equipe de desenvolvimento. Em 2009, Thomas Kadauke começou a desenvolver um parser open source para CSSDoc em Ruby.

E mesmo com o uso do CSSDoc você pode continuar a utilizar o comentário convencional do CSS, ele apenas não será interpretado pelo parser.

Bônus: Cheat Sheet

Desenvolvi uma Cheat Sheet (guia de referência rápida) não oficial, em inglês, sobre as principais tags do CSSDoc e os comentários de arquivo e de seção. Você pode baixá-la aqui.

Para saber mais sobre o projeto e ver outros exemplos de aplicação das tags: CSSDoc.net

Por Talita Pagani

Talita Pagani, 24 anos, mora em Bauru, interior de SP. Trabalha como web designer desde 2005, mas começou a se interessar pela área em 2001. É graduada em Ciência da Computação. Apaixonada por usabilidade, design de interface e padrões web.

http://www.twitter.com/talitapagani

Veja os outros posts de

  • Pingback: Tweets that mention CSSDoc – padrão para documentação de folhas de estilo | Tableless - Desenvolvimento com Padrões Web -- Topsy.com

  • http://pponto.com Paula Faria

    Estava sentindo uma falta enorme de padronizaçao da document
    ação, parabens!

    Podia ter uma aplicaçao para servir de exemplo =)

  • Tiago Trigo

    Caramba muito bom esse artigo, sem falar no pelo materia disponivel pela Talita ;D.

  • http://felipenmoura.org/ Felipe Nascimento

    Muito bacana, realmente. O CSS, juntamente com o HTML está caminhando para uma boa evolução e maturidade, e é ótimo que navegadores estejam trabalhando nisto também. Uma padronização destas é sem dúvida ótimo, e acho que este é realmente o momento para algo assim :)

  • http://twitter.com/jardel_xavier Jardel Xavier

    Obrigado pelas dicas! eu e meus colegas estamos estudando bastante sobre code style para padronizarmos a maneira de desenvolvermos nossos projetos. Parabéns pelo artigo.

  • Robson Schefer

    Ótimo artigo, e o guia excelente. Parabéns!

  • http://project47.viscountbox.com Carlos Eduardo

    Este é um tema que me interessa muito e tenho orgulho em dizer que implementamos um padrão em nossa equipe há anos.

    Disponibilizamos tudo isso em um blog, caso alguém tenha curiosidade ou queira alguma inspiração para fazer seu padrão também: http://www.webstandards.blog.br/

  • http://www.vintedois.com.br Shankar Cabus

    Jogou duro mais uma vez Talita. Parabéns!

  • http://www.twitter.com/udjunior Ubirajara Damasceno Jr

    Muito Bom! Gostei muito desse artigo.

  • http://jamesclebio.com.br James Clebio

    O uso de CSSDoc é de fato muito importante. Só uma coisinha: acredito que onde a Talita fala das tags mais utilizadas, a tag “@autor” seria na verdade “@author” (inglês)… ;D

  • Rodrigo Freitas

    Gostei muito dessa matéria, aqui no trabalho estamos começando a padronizar as coisas aqui e pela primeira vez achei algo em CSS que realmente valesse a pena.

  • newton negron

    Agora, mas do que nunca tenho um interesse imenso em web design e interface…Falta-me um montao de conhecimentos para chegar lá mas… continuarei forte na luta…. valeu pelas dicas

  • http://appzen.org Carlos Roberto Gomes Junior

    Muito interessante e uma boa prática que todos deveriam seguir.