A Programação Orientada a Gambiarra (POG) é uma das técnicas que compõe o Body of Knowledge do eXtreme Go Horse (XGH), sobre o qual falamos na postagem Ainda no eXtreme Go Horse – Seja Ágil com Scrum – Parte 2.
Função do_nothing
Navegando em um código legado para realizar uma manutenção, observo uma chamada à função com nome do_nothing(). Minha primeira pergunta foi: O que esse negócio faz ? Pergunta estúpida, resposta estúpida. Entrei na função e, voilà, ela simplesmente retornava null.

Do_nothing – Regras de negócio complexas devem ser encapsuladas
Isso que é encapsulamento de lógica. O que passou na cabeça do programador ? E por que raios ele chamava esse função no meio da lógica ? Até hoje me pergunto.
Comentários significativos
Em outro código, desta vez em Java, encontrei um comentário curto, singelo, objetivo, mas que significava muito:

XGH – Faça comentários significativos
O cara colocou no comentário uma referência direta ao amado eXtreme Go Horse. Isso mesmo, jovem gafanhoto! Pelo menos o programador foi sincero e me preparei para o que vinha pela frente.
Schema do banco de dados
Se você fosse criar um novo sistema, qual nome daria para o schema do banco de dados ? Provavelmente, como pessoa normal, seria uma sigla ou o próprio nome do sistema, correto ? O que acha de colocar seu nome ?

Schemas de banco de dados com seu nome te eternizarão na empresa

Olha que select mais chique!
Tá lindo!!!Legal, né ? Também achei quando me deparei com a situação. Acho que vou começar a fazer assim. Schemas com meu nome ficariam muito mais legais. Já pensou, daqui a 30 anos, meu código legado lá rodando e meu nome eternizado.
Compila novamente que funciona
Essa POG trata de um problema do nosso cérebro.
Observe a situação: erro de sintaxe em um código C, você roda o compilador e, obviamente, não compila. O que você faz ? Sem alterar nada do código, nadinha mesmo, vai lá e executa o compilador novamente.
Em uma disciplina no meu terceiro semestre de Computação, um colega fez isso na frente do professor enquanto programávamos em C. O professor da disciplina era bem sério, olhou para meu colega e fez a pergunta fatal:
“Você acha que o compilador vai mudar de opinião ?”
Piada do professor sério: compilador mudando de opinião
Essa frase profunda ficou marcada em minha memória. Por que fazemos isso ? Processo de compilação é determinístico ou não ?
Melhores práticas da POG
Boas práticas
Para depois você não sair por aí dizendo que eu só dei maus exemplos nesta postagem, segue um site muito legal com dicas práticas para implementar padrões de projeto em Java:
http://java-design-patterns.com/
É um bom começo para nos livrarmos da POG. Dá uma lida para limpar a mente dos exemplos aqui citados.
E você ? Compartilhe nos comentários a POG mais emblemática com a qual já se deparou. 🙂
Por favor, curta e compartilhe nossas páginas nas redes sociais e assine o feed de notícias para acompanhar nossas postagens.
Um forte abraço e até mais.

Olá, sou Jonathan Maia, marido, pai, apaixonado por tecnologia, gestão e produtividade. Ocupo o cargo de Secretário de Tecnologia da Informação e Comunicação do Tribunal Regional do Trabalho do Ceará (TRT7) desde 2021, onde ingressei como servidor público federal (analista de TIC) no ano de 2010. Fui diretor da Divisão de Sistemas de TIC do TRT7 entre 2018 e 2020 e também tenho experiência prévia na Dataprev, Serpro e Ponto de Presença da Rede Nacional de Ensino e Pesquisa (RNP) no Ceará.
Graduado em ciências da computação pela Universidade Federal do Ceará e especialista em gerenciamento de projetos de TIC pela Universidade do Sul de Santa Catarina. Detentor das certificações em gestão e inovação: Project Management Professional © (PMP), Professional Scrum Master II © (PSM II), Professional Scrum Master I © (PSM I), Professional Scrum Product Owner I © (PSPO I), Kanban Management Professional © (KMP II), Certified Lean Inception Facilitator® (CLF), ISO 31000:2018 Risk Management Professional © e Project Thinking Essentials.
Desenvolvedor Full Stack, possuo experiência em diversas arquiteturas / plataformas de desenvolvimento. Já tive experiências profissionais em redes metropolitanas de alta velocidade (GigaFOR/RNP), business intelligence, desenvolvimento de sistemas, gestão de projetos e produtos, governança, etc. Experiência em dezenas de projetos com abordagens de gestão ágeis, híbridas e tradicionais, incluindo projeto com menção honrosa no Prêmio de Excelência em Governo Eletrônico (e-Gov).
Com dezenas de turmas de capacitação, oficinas ou palestras ministradas nas temáticas de gestão ágil, gestão de projetos, tecnologia, inovação e produtividade nas seguintes instituições: Conselho Superior da Justiça do Trabalho (CSJT), Tribunal de Justiça do Distrito Federal e Territórios (TJDFT), Tribunais Regionais do Trabalho do Ceará (TRT7), Pará e Amapá (TRT8), Sergipe (TRT20), Rio Grande do Norte (TRT21), Tribunais Regionais Eleitorais do Ceará (TRE-CE), Mato Grosso do Sul (TRE-MS) e da Bahia (TRE-BA), Justiça Federal em Sergipe (JF-SE), Justiça Federal no Ceará (JF-CE), Companhia Siderúrgica do Pecém (CSP), Instituto Federal do Ceará (IF-CE), Instituto Federal do Rio Grande do Norte (IF-RN), Banco do Nordeste do Brasil (BNB), Gagliardi (Mobil), Udemy, Companhia Cearense de Gás (CEGÁS), Agile Trends Gov, Project Management Institute (PMI-CE), Cagece, Faculdade Estácio e Associação de Gerenciamento de Projetos do Mato Grosso do Sul (AGPMS).