0

Anatomia do código fonte



O mercado de software está passando por uma grande transição em função do impacto da transformação digital nas empresas que tem provocado a necessidade de se modernizar o desenvolvimento das aplicações para garantir uma codificação orientada a qualidade, escalabilidade e continuidade.

A área de desenvolvimento de software é tão envolvente que não é difícil encontrar relatos de desenvolvedores que de tão envolvidos que acabam sonhando com um determinado problema e conseguem chegar no outro dia com a solução e/ou ideia para ser implementada. Essa paixão faz parte da profissão de software e hoje tem sido ampliada pela consumerização e acessibilidade ao digital proporcionado pelo fácil acesso aos dispositivos conectados como Smartphone.

Uma aplicação hoje tem um espaço difícil de se medir na vida das pessoas e no dia a dia das empresas. Vivemos uma relação diária com o software. A importância das aplicações é tão grande que uma linha de código pode determinar o sucesso ou o fracasso de um negócio. O consumidor moderno tem uma clara percepção de funcionalidade, performance e experiência de usuário e não duvide se ele já até pesquisa como desenvolver uma aplicação.

Hoje podemos considerar que toda empresa é uma empresa de software conforme já citou o Gartner e o Satya Nadella da Microsoft e outros visionários do setor. De fato, essa ruptura do tradicional para o digital tem provocado enormes discursões sobre como transacionar o desenvolvimento de software tradicional que eu chamo de “analógico” para o desenvolvimento de software moderno que eu chamo de “digital”.

A nova economia baseada em aplicações, serviços e API’s provocou uma verdadeira corrida ao software gerando mais oportunidades na área de tecnologia que deixou de ser centro de custo para pilar estratégico do negócio.

Se o negócio evoluiu para o digital exigindo mudanças, elocuções frequentes visto que o concorrente está na próxima aba do navegador como você será competitivo desenvolvendo aplicações analógicas, de difícil manutenção, evolução e continuidade. Por isso nesse momento precisamos analisar com atenção a anatomia do código fonte de forma que possamos atuar na causa raiz dos problemas nos projetos de software e mover uma transição suave para o digital.

A primeira linha de código desenvolvida é como a fundação de um prédio. Porém em se tratando de software obedecemos a uma dinâmica diferente do tradicional visto que o software emerge em um rumo diferente a medida que o projeto vai evoluindo. O simples fato de adicionar uma nova ferramenta ao processo não implicará em um melhor código fonte.

O defeito na estratégica de codificação se propaga contaminado todo o código fonte. Certamente você já escutou o vai fazendo que um dia nós resolvemos. O custo de um débito técnico em um projeto de software compromete diretamente a evolução do negócio, inovação e continuidade do negócio. Eu costumo dizer que o software não é pão de queijo.

Eu já tive casos de avaliar um botão implementado com mais de 5 mil linhas sendo praticamente um sistema e totalmente prejudicial ao projeto. Ao iniciar uma implementação com o código fonte o mais simples você já vai gerar um grande valor. Utilizar uma análise de código fonte duplicado é outra grande iniciativa assim como decompor a inteligência do negócio implementando as regras de negócio utilizando orientação a objetos.

Ao implementar uma estratégia de software “digital” projetando um pilar sólido, orientado a reuso e serviços será possível implementar práticas de desenvolvimento ágil orientado a testes permitindo construir um pilar sólido de qualidade e continuidade do projeto.

Estou a disposição para conversamos e compartilhar a nossa experiência de sucesso no mercado software com a transformações de projetos tradicionais “analógicos” em projetos digitais. Participe também nos comentários. Sua contribuição é fundamental nesse processo de transformação.

Até a próxima !!!

Ramon Durães

CEO, 2PC
MVP, Visual Studio
PSM, CSM, LKU

Esse artigo é um oferecimento da 2PC. Entre em contato para modernização de aplicações, Devops, Visual Studio e arquitetura de software.