Arquitetura Corporativa para Todos

Artigo / Post

A capacidade de sintetizar um conceito é uma habilidade necessária para qualquer desenvolvedor

A capacidade de sintetizar um conceito é uma habilidade necessária para qualquer desenvolvedor. Vamos a um pequeno desafio:

Q: Defina o conceito de Próximo e Anterior em uma lista de qualquer tipo de elementos ordenados.

😖 Você pensa : “Poxa, você está de brincadeira, para que serve isso? Isso é mais uma daquelas questões que leva a lugar nenhum….” Então… vamos por partes (Tipo Jack – O estripador).

Próximo : É o menor elemento maior que o último.

Anterior: É o Maior elemento menor que o primeiro.

Simples né… Mas para que me serve isso ? Contexto é sempre o “Rei” do problema:

⚡ Você precisa entregar uma funcionalidade de pesquisa sequencial com muitos elementos contidos em uma base de dados de forma mais rápido possível sem comprometer o sistema, Como exemplo um extrato com período parametrizado.

O Problema aqui é que isso pode conter um número significativo de linhas não mesuráveis. Nesta hora você pensa em paginação, uma boa opção! Mas como faço ?

  • As páginas devem ter uma quantidade máxima de linhas.
  • Para avançar é só buscar pelo menor elemento maior que o último.
  • Para voltar buscar pelo Maior elemento menor que o primeiro.

Continua simples né ? E Qual a dica para continuar performático ?

Mantenha índices adequado ascendentes e descendentes para facilitar ter o número de elementos desejados por página.

Agora é só escolha a sua linguagem preferida e escreva a solução. Reservar um tempo para sintetizar conceitos de um problema pode ser a chave para implementações eficientes e rápidas. Nem sempre é possível chegar à simplicidade, mas devemos sempre tentar obter a essência do que queremos resolver antes de executá-la.


Tenham um excelente dia! Eu sou Fernando Cerqueira e entrego estratégias digitais para os desafios do presente, com propostas de inovação para um futuro sustentável.

Compatilhe

0 0 votos
Avaliação Global
0 Comentários
Feedbacks embutidos
Ver todos os comentários
Categorias

Sobre o Autor

Picture of Fernando Cerqueira

Fernando Cerqueira

Eu sou Fernando Cerqueira e entrego estratégias digitais para os desafios do presente, com propostas de inovação para um futuro sustentável. Como arquiteto sênior, aproveito meus mais de 20 anos de experiência em arquitetura e desenvolvimento de software para projetar e implementar soluções baseadas em nuvem que ajudam os clientes a transformar seus negócios com tecnologia.

Outros Posts

Categorias

Adotar classes seladas em .NET por padrão é uma ótima escolha

Adotar classes seladas em .NET por padrão é uma ótima escolha. Saiba por que! Em .net todas as classes que são criadas por padrão (template), permitem herança. Esta opção padrão deixa mais flexível qualquer implementação por herança, mas sendo sincero, acredito não ser esta a melhor opção : Uma classe

Singleton: Anti-pattern ou apenas mal interpretado?

O padrão de projeto Singleton garante que apenas uma instância de uma classe exista durante a execução de um programa, fornecendo um ponto de acesso global a essa instância. Admito que já o classifiquei imprudentemente como um anti-pattern, mas estou aqui para me redimir. O Singleton resolve um problema recorrente

CancellationToken – O que você precisa e deveria saber antes de usar

No mundo moderno da engenharia de software os processos , atividades e dependências ocorrem a todo o momento de forma concorrente! Falar de concorrência é ter consciência que várias tarefas são executadas simultaneamente e/ou concorrentes com os ciclos/processadores disponíveis e que estes recursos são finitos e/ou tem custos associados à

Arquitetura NÃO é somente sobre tecnologia é essencialmente sobre pessoas!

Melvin Conway foi um cientista da computação e programador. Por volta de 1968, em um de seus estudos (“How Do Committees Invent?”) na sua conclusão escreveu: “Ao desenhar seus sistemas, as organizações estão fadadas a produzir cópias de suas estruturas de comunicação.” Melvin Conway Isso na época (55 anos atrás!)

Na alta performance não existe vaidade

Cesar Cielo, em seu livro 101% cunhou o titulo deste post. Liderança é um dos atributos de soft skills desejados no mundo corporativo e pode ser treinado e aperfeiçoado.  Uma das características deste atributo é que mesmo com treinamento a liderança não se sustenta pela imposição. Liderança se conquista no

"Quando não reservamos um esforço para reduzir a complexidade final de um sistema as equipes e times que desenvolvem e mantem um software estarão fadadas a entregarem resultados cada vez mais complexos com maior tempo e esforço para manter seus ativos, afetando gradualmente e negativamente os resultados desejados, distanciando-se do propósito para o qual foram concebidos."

Fernando Cerqueira | Arquiteto Corporativo

Sua Reflexão

0
Adoraria saber sua opinião, comente.x