3 Princípios para facilitar a vida de todo programador
Como desenvolvedor, você vai concordar comigo que enfrentamos todos os tipos de cenários possíveis existentes nessa vida, desde uma solução simples até outras mais complexas. Mas, por que caímos na armadilha de projetá-las de uma forma mais complexa do que realmente são?
Em meus anos de experiência com programação, vi alguns códigos muito complexos que não fazem nenhum sentido para mim, em outras palavras, tenho visto código que só o programador que o escreveu saberia o que realmente significa (E olha lá ainda, também conhecido com coxa de retalhos). No entanto, quando se pergunta para o programador explicar o que o código faz, ele(a) só iria dizer “Só Chessusss sabe disso”. Não me leve a mal, sei que há cenários em que não há nenhuma maneira fácil de resolver as questões, mas porque aumentar a complexidade se poderiamos resolvê-los com uma maneira simplista?
É por isso que vou tentar mostra alguns princípios básicos (mas muito poderosos), ou relembrá-los se você já sabe sobre eles. Estes farão sua vida melhor e mais fácil.
KISS
“Keep It Simple, Stupid!” — Eu gostaria de chamar bastante atenção quanto a esse princípio para tentar manter isso em sua mente. Quanto mais simples o seu código é, mais simples será para mantê-lo no futuro, e, claro, se outras pessoas vê-lo, elas vão agradecer por isso.
O princípio do KISS foi abordado por Kelly Johnson, e afirma que a maioria dos sistemas funcionam melhor se forem simples de serem mantidos, em vez de fazê-los de forma complexa; portanto, a simplicidade deve ser um objetivo fundamental no projeto e a complexidade desnecessária deve ser evitada.
Meu conselho é para evitar o uso de recursos especiais da linguagem de programação que você está trabalhando apenas porque a linguagem permite que você use-os. Isso não quer dizer que você não deve usar esses recursos, mas usá-los apenas quando há benefícios perceptíveis para o problema que você está resolvendo. Com esta premissa, apresentarei o próximo princípio.
YAGNI
“You aren’t gonna need it” — Às vezes, como desenvolvedores, tentamos pensar muito no futuro do projeto, alguns recursos extras “apenas no caso de precisarmos deles” ou “nós, eventualmente, vamos precisar deles”. Apenas uma palavra … Não!
YAGNI é um princípio por trás da prática de Programação Extrema (XP) de “Faça a coisa mais simples que poderia funcionar”. Mesmo quando este princípio é parte do XP, é aplicável em todo o tipo de metodologias e processos próprios de desenvolvimento.
Quando você sente uma ansiedade inexplicável para codificar alguns recursos extras que no momento não são necessários, mas você acha que eles serão úteis no futuro, apenas se acalme e veja todo o trabalho pendente que têm neste momento. Você não pode perder tempo de codificação em características que talvez você terá de corrigir ou mudar porque elas não se encaixam com a necessidade, ou na pior das hipóteses, elas não serão usadas.
DRY
“Do not Repeat Yourself” — Quantas vezes vimos que existem códigos semelhantes, em diferentes partes de um sistema. Bem, este princípio é formulado por Andrew Hunt e David Thomas em seu livro O Programador Pragmático que cada pedaço de conhecimento deve ter uma representação única e consistente, sem ambiguidades, dentro de um sistema. Em outras palavras, é necessário tentar manter o comportamento de uma funcionalidade do sistema em um único módulo.
Eu sei que este princípio é muito útil, especialmente nas grandes aplicações onde elas são mantidas constantemente, alteradas e estendidas por uma comunidade de programadores. Mas você também não deve resumir demais todas as coisas que você faz, lembre-se dos dois princípios KISS e YAGNI citados anteriormente.
Há uma série de outros princípios e boas práticas de codificação de desenvolvimento de software, que podemos encarar não só na programação mas na maneira de enxergar a vida, como por exemplo o princípio KISS, quando se tem uma vida mais simples em consequência disso temos menos dor de cabeça com problemas e assim por diante (Mode Reflexion: On) … mas acredito que esses três são os princípios mais importantes. Colocá-los em prática vai salvar você e sua equipe de um monte de dores de cabeça tentando manter código entendível e funcional, pois o entedimento como um todo é mais importante do que trabalha-lo.
Entenda escrevemos código para os humanos entenderem e não somente os computadores.
Até a proxíma!!!