Escrever um software é como qualquer outro tipo de texto. Primeiramente você deve escrever suas ideias e depois ir redefinindo até que fique bom.
Basicamente deve seguir os seguintes passos:
- Escrever o objetivo da função e a forma como será feito, em texto puro (não em código). Aqui será a descrição de toda a lógica e é um meio importante de detectar alguns erros de lógica;
- Escrever o código da abstração mais alta para a mais baixa. Primeiramente escrever apenas as chamadas às funções que executarão as subtarefas de sua função;
- Implementar as funções de níveis de abstração mais baixos (as subtarefas) com os mesmos passos descritos acima;
- Refatorar o seu código, procurando por duplicidades que podem ser extraídas em outras funções, nomemclaturas que podem ser melhoradas, blocos que podem ser melhor arranjados para facilitar a legibilidade, etc.