Escolha o melhor caminho, mesmo que existam caminhos mais fáceis de seguir

QA: O titulo da listagem de posts das páginas A, B e C devem possuir o mesmo estilo do titulo da listagem de posts da página D.

Então você vai conferir e percebe que o referido titulo possuí um visual diferente em cada uma das 4 páginas e consequentemente cada um deles possui um estilo diferente no CSS, cada um com uma classe diferente, por exemplo. O que você faz para atender a este item do QA:

a) — Copia o css usado para estilizar o titulo da página D e cola nas classes que estilizam os títulos das páginas A, B e C

b) — Utiliza uma classe única para os títulos nas 4 páginas, mantém uma classe especifica caso precise, no futuro, diferenciar um dos títulos e estiliza essa classe seguindo o padrão da página D

Devem existir outras opções, mas para o que quero falar apenas essas duas são suficientes.

Observando a questão acima parece bem óbvio que a alternativa B é melhor do que a alternativa A e sei que a maioria vai responder a opção B, porém na prática o resultado é MUITO diferente. Existem várias implicações e desculpas que inventamos para nós mesmos para utilizar a opção A quando um problema deste aparece, mesmo sabendo que ela não é a melhor opção nós terminamos indo por este caminho porque é o mais fácil.

Sabe quando dizem que precisamos de força e sabedoria para escolher o caminho correto ao invés do mais fácil? Programadores passam por isso o tempo inteiro.

Voltando à questão, imagina que o estilo de cada titulo segue uma hierarquia, então adicionar a classe genérica poderia não funcionar porque a hierarquia inicial poderia sobescrever o CSS da nova classe. Tudo bem, você pode apagar o estilo antigo, beleza, ai digamos que seu CSS é todo componentizado e cada página tem uma folha de estilo, você precisaria de uma folha geral para escrever o genérico para manter o padrão, digamos que você não tinha pensado nisso e ainda não tem um padrão… Enfim, só estou colocando as dificuldades que vão passar na sua mente na hora H e que te servirão de desculpa para não fazer o certo, para não seguir a opção B, para pegar o atalho na opção A.

Sabe quando você precisa fazer um ajuste em uma página e ai mete lá o bom e velho !important? É isso camarada, esse é você escolhendo a opção A, a opção mais fácil. O problema é que esse tipo de decisão costuma não ter volta, a tendência é escolher a opção A cada vez mais até que vai chegar o dia que para fazer da forma correta será preciso mexer em tanta coisa que vai consumir dias de trabalho e talvez termine nem valendo a pena. O problema é que vai chegar o dia que outro programador vai precisar pegar naquele código e vai perder dias tentando descobrir como as coisas estão organizadas e feitas, se este programador não quiser pegar o caminho mais fácil ele terá um grande trabalho pela frente para ajustar tudo.

Este post é uma chamada a reflexão, quero que pensem nele antes de escolher o caminho mais fácil, porque ele pode parecer o mais fácil e rápido naquele momento, só que mais para a frente pode te dar muita dor de cabeça.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.