São bem conhecidas – e adotadas – as recomendações de Robert C. Martin para a escrita de um código legível e sustentável. A comunidade ABAP também adota a filosofia do clean code, que está na base do guia de estilo para desenvolvedores ABAP publicado pela SAP.
Porém, a mudança cultural necessária para a criação de clean code em ABAP pode ser maior que no resto do universo da programação. Por quê?
Porque há desafios particulares na criação de sistemas em ABAP. Se é conhecendo o inimigo que criamos as condições de enfrentá-lo, vamos ao que interessa: quais os desafios de implementar a filosofia clean code no universo ABAP? Acompanhe.
1. Dificuldade de auditar todo o código
As organizações que usam SAP costumam ter muito código antigo, além de um volume de código que chega à casa de milhões de linhas escritas.
Auditar e otimizar esse código pode ser uma tarefa de dimensões gigantescas, humanamente impossível, mesmo quando os benefícios são imediatos. Quem audita a qualidade desse código linha a linha? Essa não é uma opção. No entanto, sem fazer isso, como decidir o que precisa ser otimizado? Por isso, não é raro que as organizações não façam.
A solução para isso, no entanto, não é simplesmente sair otimizando qualquer coisa, porque a equipe se perderia no meio disso.
Você precisa de uma ferramenta para identificar o código supérfluo, que pode ser eliminado, e o spaghetti code, que pode ser enxugando, tornando seu sistema mais leve e compreensível.
2. Resistência à mudança da alta gestão
Para levar adiante iniciativas em clean code, você vai precisar de aprovação da alta gestão. E exatamente esse nível pode ser um obstáculo.
É comum ouvir afirmações de que o sistema já é bom, porque está funcionando bem e não precisa de melhorias imediatas. Ou então, que o código será otimizado quando a organização fizer a migração para o HANA.
Para reverter esse quadro, o ideal é auditar todo o código com uma ferramenta como o QAMetrik, identificar os problemas e o que a organização está perdendo com eles e como as melhoras podem aumentar a performance de seus processos por meio de melhorias.
3. Continuar a produzir código de baixa qualidade
A maior defesa contra código ruim é produzir bom código, isso é claro. Se você continuar a produzir código de baixa qualidade, tarefas ligadas a clean code sempre estarão em alto volume em seu backlog ou, se não otimizar, seu sistema irá de mal a pior.
Por experiência própria, esse é o problema mais difícil de sanar em ambientes SAP. Há várias causas na base de um código de baixa qualidade, entre as quais orçamento e prazos apertados, práticas ruins de desenvolvimento, excesso de consultorias e falta de formação continuada. Tudo isso torna difícil manter o padrão de desenvolvimento.
Se você já atuou com consultorias e precisou mexer no código que elas criaram, sabe do que estamos falando. Ninguém entende a língua.
Ferramentas como o QADevOps escaneiam todo o código produzido a fim de identificar se há código que pode ser melhorado e erros, assim como recomendações de melhoria. Com isso, o código pode ser corrigido antes de entrar em produção e de causar algum problema na performance do sistema como um todo.
4. Priorizar o que deve ser otimizado
Se você já identificou os problemas no código, sabe por onde começar a otimizar?
Não existe uma resposta óbvia para essa pergunta. Você pode escolher quick wins, apenas para cortá-las da lista, mas essa pode não ser a melhor forma de gerir a iniciativa em clean code, no caso de haver um problema crítico afetando diretamente a sua performance.
O QAMetrik também lista os problemas por ordem de prioridade, reunindo pontos críticos, graves e moderados, para você ter ideia de por onde pode começar.
5. Delegar otimizações pela equipe
Como você atribui demandas de clean code entre os desenvolvedores da equipe? Fazer isso sem uma ferramenta de gestão de projetos que automatiza boa parte das tarefas burocráticas pode ser complicado. Com o QADevOps você tem isso.
6. Tempo em otimização
A maioria das otimizações você resolverá em menos de uma hora. Mas, quando você tem um backlog com centenas de itens, isso toma tempo da equipe.
Buscar a automatização de tarefas como criação de requests e outras permite que os desenvolvedores dediquem tempo codificando, em vez de realizando tarefas mais burocráticas.
Supere os desafios do clean code em ABAP
O clean code é ação me melhoria contínua, independentemente do ambiente ser SAP ou outro. Atuar sobre o código, tornando-o sempre melhor do que ele estava quando você chegou é premissa básica de um sistema resiliente e estável.
Para chegar no código antigo, no entanto, você precisará de ferramentas para conseguir ter a escala necessária. A QAMterik proporciona isso.