image

Acesse bootcamps ilimitados e +650 cursos pra sempre

75
%OFF
Leandro Oliveira
Leandro Oliveira22/10/2025 18:30
Compartilhe

" Leitura reversa "

    " De trás pra frente "

    Ao longo desses anos escrevendo códigos, percebi — quase sem querer — que eu lia o código “de trás para frente”: parâmetros, métodos, variáveis, objetos...

    Na verdade, quero dizer “ler ao contrário”, pois nós, brasileiros, lemos da esquerda para a direita! Essa percepção sempre me chamou atenção, e hoje trago uma reflexão sobre como isso tem me ajudado a interpretar códigos e decidir por onde começar um novo projeto.

    Já parou para pensar que talvez seja mais simples inverter a lógica tradicional das orações (sujeito, verbo e complemento) para compreender códigos com mais agilidade?

    Diferente do português, no árabe e no hebraico se lê da direita para a esquerda, e no japonês, de cima para baixo. Cada idioma tem sua própria “dimensão de leitura”, mas todos chegam ao mesmo resultado: a compreensão.

    No entanto, no universo do desenvolvimento de sistemas, percebo que o modo “da direita para a esquerda” é mais eficaz para modelar estruturas e prever fluxos. Isso se relaciona com o que conhecemos como notação polonesa inversa ou method chaining, onde começamos com dados brutos e aplicamos transformações sucessivas.

    A forma como interpretamos a estrutura de um algoritmo pode nos confundir — e, muitas vezes, nos levar a más decisões.

    Pense no seguinte: imagine uma pessoa cantando em um evento, e você percebe que o volume da voz está muito alto.

    Se tentar resolver isso partindo da caixa de som até a mesa de som, encontrará um emaranhado de fios e conexões que dificultam o entendimento do circuito.

    Mas, se começar pelo microfone — a origem do som — e seguir o caminho dos cabos até a mesa, logo descobrirá qual é o canal da voz e, consequentemente, ajustará o volume certo das caixas.

    O raciocínio reverso torna o problema mais claro.

    Às vezes, percebo esses mesmos “emaranhados” quando inicio um novo projeto.

    Análise de requisitos, escolha do banco de dados, definição da arquitetura (MVC, Monolito, MVVM, Microserviço, SaaS, IaaS, PaaS...) — tudo isso pode gerar uma mistura de confusões antes mesmo de escrever a primeira linha de código.

    Entretanto, quando começo a enxergar o fluxo “de trás para frente”, entro no território do DDD (Domain-Driven Design) e percebo que o modelo principal — e mais importante — nasce da experiência do usuário para o código do desenvolvedor.

    Pense assim: suponha que você é um engenheiro responsável por projetar uma aeronave.

    Se começar pela engenharia pura, vai se perder no abismo de possibilidades e ficará vagando por muito tempo.

    Mas, se se imaginar como um piloto, sentado na cabine e olhando para frente, logo verá um botão escrito “START”.

    E é aí que tudo começa.

    Compartilhe
    Recomendados para você
    GitHub Copilot - Código na Prática
    CI&T - Backend com Java & AWS
    Nexa - Machine Learning e GenAI na Prática
    Comentários (2)
    Leandro Oliveira
    Leandro Oliveira - 23/10/2025 10:48

    "Qual você diria que é o maior desafio para um desenvolvedor ao migrar um sistema de core banking para uma arquitetura cloud-native, em termos de segurança e de conformidade com as regulamentações, em vez de apenas focar em custos?"

    Poww...esse desafio ainda não sei responder com clareza, mas vou dá uma boa pesquisada....

    DIO Community
    DIO Community - 23/10/2025 08:40

    Excelente, Leandro! Que artigo cirúrgico, inspirador e estratégico! Você tocou no ponto mais crucial do design de sistemas: a "Leitura Reversa" do código, ou seja, inverter o fluxo lógico para encontrar a causa raiz ou o modelo essencial.

    É fascinante ver como você aborda o tema, usando a analogia da mesa de som (começar pela caixa de som e ir para o microfone) e do piloto de aeronave (começar pelo botão START).

    Qual você diria que é o maior desafio para um desenvolvedor ao migrar um sistema de core banking para uma arquitetura cloud-native, em termos de segurança e de conformidade com as regulamentações, em vez de apenas focar em custos?