January 4th 2007

Documentação e Best Practices: Um caso de uso

Documentação, a palavra mais assustadora e antipática criada dentro do ambiente de desenvolvimento.

Ok, isso pode ser o que pensamos, mas não é a verdade. Documentação é uma parte fundamental do desenvolvimento de qualquer sistema, seja ele em equipe ou não. Quantas vezes você não se deparou com um código que voce mesmo escreveu algum tempo atrás e simplesmente ficou sem entender absolutamente nada do que havia feito? Acredite, acontece.

Em um ambiente de desenvolvimento em equipe a situação fica ainda pior. Cada programador tem sua assinatura, desafie varias pessoas a escrever um código para resolver um determinado problema e verifique o resultado. Cada um vai escrever o código de uma forma, então imagine a confusão na hora de se dar manutenção no código de outra pessoa.

A documentação esta ai justamente para preencher esta lacuna, atitudes simples, como uma linha de comentário descrevendo o que o bloco de código logo abaixo, fazem uma grande diferença para o entendimento. Além disso temos a documentação completa de classes e códigos, que pode ser baseado no phpDoc, por exemplo.

Recentemente estive projetando um sistema que será implementado por uma equipe de três pessoas, e pra piorar, eu como gerente de desenvolvimento vou passar quinze dias fora, sem contato com a equipe. Eu precisava achar uma forma de deixar meu parceiro “em código” programar livre, tocar o projeto junto com o designer, mas sem gerar códigos que entrem em conflito com o resto do sistema, ah sim, este sistema integrará 5 subsistemas em uma base única de intranet, mas acho que estes detalhes são coisas para outro post.

Após projetar o sistema e definir objetos e outros detalhes gerais do próprio sistema, tirei meu tempo e aproveitei o recesso do resto da equipe para escrever o “Manual de Best Practices” do sistema. Para que tudo corra bem é necessário definir um padrão para que todos envolvidos possam seguir este padrão e então produzir código inteligivel e que se “conecte”.

O manual explica detalhadamente toda estrutura do sistema, desde a estrutura física até as normas de documentação. Começo descrevendo a estrutura do sistema e a integração dos sub-sistemas, explicando a estrutura de pastas e ditando as normas de nomenclatura de arquivos. Em seguida passamos pelo desenvolvimento de módulos, tratamento de erros, conexão com o banco e apresentação. Finalmente apresento as diretrizes de documentação para que possamos das continuidade ao que foi feito.

A apostila como um todo terá mais de 9 capítulos e cerca de 30-40 páginas (ao escrever isso ainda não finalizei a apostila), mas deve continuar sendo re-escrita e novas instruções e padrões devem ser adicionadas. O nível de detalhamento deve melhorar, e alguns padrões de formatação de código devem ser incorporadas.

Funciona? Bem eu acredito que teremos muitos menos problemas de incompatibilidade, mas com certeza voltarei para relatar meu caso de sucesso (ou insucesso) e incrementar na definição e dicas de documentação.

1 Star2 Stars3 Stars4 Stars5 Stars (7 votos, média: 4.43 de 5)
Loading ... Loading ...

7 Comments »

November 16th 2006

ReviewMe: Ganhe dinheiro por sua opinião!

Artigo patrocinado por: Review Me

Sim, eu falei patrocínio! Não, eu não virei popstar.
A importância dos Blogs cresce a cada dia, e seu potencial como ferramenta de influencia é cada vez mais inegável. Visando aproveitar esta onda vimos surgir várias formas de anunciar nestes sites, como AdSense, Admarket dentre outros. O que é novo então? Continue Reading »

1 Star2 Stars3 Stars4 Stars5 Stars (2 votos, média: 5.00 de 5)
Loading ... Loading ...

6 Comments »

August 15th 2006

News Update

O tempo pra variar não espera ninguem, no meu caso já fiquei para trás a muito tempo.

Estou no momento terminando de preparar um post sobre uma palestra que assisti na semana passada, chamada “Buscando Águias”, uma palestra muito interessante sobre liderança e formação de líderes, agiardem e já passarei mais informações.

Os últimos dias tem tido um tópico recorrente na minha carreira, “otimização” estou passando pelo step-by-step de como gerenciar um banco de dados de mais de 120 tabelas, algumas com até 200 mil registros. Tudo começa mil maravilhas, mas a continua manutenção e revisão é necessária para que o crescimento do banco não afete a performance final do site, pois um select que demora x milisegundos quando tem apenas 100 registros, pode demorar x*10000 milisegundos quando passa a ter 70 mil registros e 50Mb de dados. Quando terminar o processo compartilho com vocês algumas dicas de configurações e best practices do SQL.

No meu mundo freelancer, me aproximando do lançamento da versão beta de um helpDesk desenhado sob medida para um cliente, decidi me aventurar em algumas novas ferramentas da era Web 2.0. Após muito resistir e “re-inventar” a roda da Web 2.0, decidi que já havia obtido o controle da tecnologia, uma rotina que faço questão de sempre seguir, pois não basta apenas saber aplicar pacotes prontos, é importante conhecer o processo por trás e saber – pelomenos em teoria – aplicar por si mesmo.

Portanto comecei minha experiência experimentando a biblioteca script.aculo.us, que por sua vez utiliza a prototype. Ela possui algumas ferramentas muito interessantes de efeitos e outras funcionalidades, fica aqui a recomendação de que, se você já fez seu dever de casa, de uma olhada e aplique a biblioteca para dar mais vida e interação à sua aplicação web.

1 Star2 Stars3 Stars4 Stars5 Stars (6 votos, média: 3.33 de 5)
Loading ... Loading ...

No Comments yet »