open-source

open-source

Bang.sh - Framework para desenvolvimento de aplicações em Shell Script

Iniciar uma aplicações em bash script geralmente é uma tarefa chata. Tem que parsear argumentos, tratar valores, etc. Eu iniciei um projeto para criar um framework para desenvolvimento de aplicações escritas em Shell Script.

Com o framework, quero tentar trazer uma forma mais organizada de se programar em Shell Script. Muitos dos scripts que são vistos por aí, acabam sendo códigos mal identados e confusos.

O framework está disponível num repositório no GitHub. Se você se sentir a vontade, pode contribuir ! Todas contribuições são bem vindas. Se algum bug for encontrado, reporte, por favor! Assim poderemos tornar o framework mais estável e útil.

Introdução a testes unitários com CakePHP e SimpleTest

Há tempos eu venho lendo sobre XP (eXtreme Programming), Scrum e Feature Driven Development (FDD). São metodologias ágeis de desenvolvimento de software. O engraçado é que praticamente, ao meu ver, fazem a mesma coisa, porém de forma diferente. E todas elas frizam a importância dos testes unitários e, mais especificadamente, testes unitários antes do desenvolvimento, o chamado TDD (Test Driven Development). Como nunca havia trabalhado desta forma, ainda não tinha uma opinião sobre isso. Apenas comentários e depoimentos de que usa. Somado a isso, veio aquele senso de desafio, de inovação e curiosidade.

Faz alguns meses, e decidimos, eu e o Emanuel Zabka, implantar o TDD no desenvolvimento na empresa em que trabalhamos. Academicamente é falado muito em refactoring e mudanças de requisitos, mas na prática, eu nunca havia notado a quantidade de modificações que um mesmo código/classe/arquivo é modificado num curto período de tempo e a longo prazo.

Os testes me ajudaram a enxergar, não só as dependências do sistema, como também, acoplamentos desnecessários; a qualidade dos códigos; do design do projeto; e, consequentemente, diminuiu muito os bugs mais corriqueiros, como validação de campos. Mesmo tendo várias coisas boas, há coisas ruins, como aumento do tempo de desenvolvimento - o que, apesar de nunca ter medido, diminui o retrabalho e tempo utilizado no futuro em correções de bugs -, aumento da complexidade da arquitetura - a fim de manter uma maior coesão com baixo acoplamento, entre outros menos relevantes.

Usando Screen e Vim para Pair Programming remoto

Bem, é notável o crescimento das metodologias ágeis de desenvolvimento de software. Uma das práticas que me agrada muito, é a programação em pares (pair programming). É bem perceptível, a um longo prazo, a diferença que faz essa prática. Navegando pela internet, como um marujo sem rumo, encontrei um post falando sobre Remote Pair Programming. Parece meio estranho, porque o XP (eXtreme Programming) faz alusão a uma dupla programar em um único computador, com um único teclado e um único mouse.

Syndicate content