Reflexão sobre organização de código

Reflexão sobre organização de código

Há uma reflexão interessante sobre como organizar o código.

Faz muito tempo que deixei de me preocupar com estruturas de diretórios, tamanhos de arquivos ou localização física do código. Isso porque minha organização não depende da estrutura no disco, mas sim da própria estrutura da linguagem - pacotes, funções e módulos. Além disso, uso ferramentas que me levam diretamente ao ponto do código que quero editar.

Por exemplo, em vez de procurar manualmente por arquivos ou pastas, configurei meu editor para que, ao pressionar Enter sobre o nome de uma função ou objeto, ele vá diretamente para sua definição, e ao pressionar Backspace, volte ao ponto anterior. Tenho vários outros atalhos semelhantes, que me permitem navegar pelo código - não pelos arquivos.

Esse modo de trabalho tem alguns efeitos. Qualquer forma de indireção no código torna a navegação menos fluida, por isso evito o uso de interfaces quando não são realmente necessárias.

Prefiro navegar pela lógica do código e não pelo sistema de arquivos, pois isso reduz a carga cognitiva durante a escrita e, principalmente, durante a depuração. Há muitos anos estudo maneiras de reduzir essa carga, eliminando distrações e mantendo o foco na tarefa.

Sistemas de arquivos não são código, nem se transformam em código - são apenas mais uma camada de indireção, e toda indireção tem um custo.

Esse método funciona bem para mim porque foi moldado para o meu modo de pensar. Outras pessoas têm abordagens diferentes que fazem mais sentido para elas. Ainda assim, percebo que, cada vez mais, bons programadores tendem a organizar-se com base na estrutura do código, e não na estrutura dos arquivos.