Organização de código-fonte: não viva sem!
Por mais improvável que pareça, existem sim desenvolvedores de software que não ligam à mínima para manter um código organizado. Parece brincadeira dizer isso no século XXI, mas é verdade.
Eu sempre fui muito chato com isso, talvez seja porque eu mesmo gosto de manter minhas coisas pessoais num padrão. O fato é que desde sempre fui adepto de pular linhas para separar informações distintas, fazer indentação para cada if, for e while e separar tudo em trechos de código menores.
Lembro-me até de algumas vezes virar motivo de piada entre os devs da empresa porque meus códigos eram "extremamente indentados" (tudo bem, eu admito: talvez em alguns momentos eu tenha exagerado :P). Entretanto, o fato é que meus olhos não conseguem se acostumar com informações bagunçadas.
Inclusive, a coisa é tão séria, que diversas vezes gastei momentos preciosos da minha sprint não corrigindo códigos alheios (até porque sempre trabalhei com devs admiráveis), todavia "embelezando" os mesmos.
Quantas vezes fiquei enfurecido diante do Visual Studio a pensar: "custava dar um espaço entre essa palavra e essa chave?" e na linha seguinte: "Meu Deus! Como alguém consegue passar adiante um código com dois espaços aqui?". Hahaha, enfim. A vida de devs metódicos não é tão fácil quanto imaginam...
Alguém pode estar lendo esse texto nesse momento e pensando: "Que frescura! O que importa é rodar sem erros". De fato, o resultado é sim muito importante, mas um desenvolvedor que pretende exercer bem sua função e crescer na carreira, deve pensar nos outros. Uma coisa que não temos em mente ao entregar um código "feio" é que alguém um dia dará manutenção e poderá ter dificuldades em entender ou em encontrar informações que uma simples indentação resolveria.
Em seu livro escrito juntamente com Uncle Bob (Robert C. Martin), chamado Clean Code, Michael Feathers escreveu uma coisa belíssima:
"[Clean Code é algo que] parece ter sido escrito por alguém que se importa".
Muitas vezes podemos estar nos importando de menos com a qualidade visual do nosso código. E isso é um verdadeiro problema.
É claro que as coisas se modernizaram e não precisamos mais estar todo momento a dar espaços, tabs e outras coisas que usávamos para organizar código manualmente. Gosto muito de utilizar as ferramentas que o mercado nos fornecem para melhorar minha escrita de código sem muitas dificuldades.
Dicas para desenvolvimento FrontEnd (especialmente com Angular: a menina dos meus olhos):
Hoje é impossível ser desenvolvedor FrontEnd, por exemplo, e não ter usado o VS Code (se isso não é verdade, você pode estar vivendo errado! :P). Nessa IDE é possível formatar seu código ao fim da escrita com um simples Alt+Shift+F. Vocês não tem ideia do quanto minha vida ficou mais feliz depois de descobrir isso. Não fico mais tão bravo quando pego código "feio" como ficava antes! Além disso, se você instalar a extensão Prettier é que as coisas ficam "prettier" mesmo!
Esse é o pacote básico, entretanto, se você quer organizar mesmo seu código e deixá-lo como se fosse a Monalisa dos Bits, você pode utilizar o TS Lint (um pacote que estabelece regras ao seu código Typescript). Para utilizar, basta instalar conforme pode ser visto no site e criar um arquivo JSON de configuração no seu projeto Angular (ou Typescript puro).
Nesse arquivo (chamado de tslint.json), você é capaz de definir regras como: sempre a criação das variáveis deve acontecer em ordem alfabética, sendo as variáveis privadas primeiro que as públicas, ou visse-versa; ou então que nunca poderão haver espaços duplos no código, ou que sempre será usada aspas simples ao invés de aspas duplas ou até mesmo que variáveis que não mudam de valor sejam declaradas como "const" ao invés de "let".
Embora seja um "trabalho extra", os benefícios são incalculáveis no decorrer do projeto. Deixo aqui um link com um tslint.json que gosto de utilizar nos meus projetos pessoais, que já possuem algumas regras bem legais.
Um dos papéis mais importantes (e ao mesmo tempo mais desconhecidos) de um programador é ter essas práticas em mente, sempre estando focado em entregar o seu melhor, de forma manutenível e inteligível, para que seu chefe consiga ler e entender da mesma forma que o júnior que acabou de ingressar na empresa, seja hoje ou daqui um, três ou cinco anos.