Tentei reunir aqui boas práticas que gosto de usar para programar. São dicas pessoais que alguns podem preferir não usar, mas as obtive de várias fontes e muitas são de consenso geral. Algumas são avaliadas para considerar se o código é bom. Algumas dicas são genéricas, outras mais adequadas a uma ou outra linguagem. Quando comecei a escrever estava programando principalmente em python, mas também frequentemente em shell (principalmente bash) e as vezes em php. No passado já programei em C, pascal, perl, fortran e talvez alguma outra linguagem que não estou lembrando agora.
Veja também:
Eu uso o vim, mas essas funcionalidades provavelmente poderão ser encontradas em outras IDEs.
Um projeto de software certamente necessita de arquivos somente de documentação com temas como escopo, regras de negócio, cronograma, papéis e responsabilidades da equipe, requisitos, licenças etc. Em projetos menores muitas vezes isso tudo pode estar num único arquivo LEIAME.txt ou, seguindo a tendência do github, README.md, que pode ser escrito com Markdown e será apresentado ao acessar um diretório via web num repositório GIT.
Isso tudo, porém, não exclui uma boa documentação no próprio código, que é do que falo aqui.
Exemplo de cabeçalho padrão (python):
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- # # <Descrição> A segunda linha acima permite o uso de acentuação no arquivo # # # Historico (mais recente em cima) # 27.11.2018 - <identificação da pessoa> - Criação # 13.12.2018 - <identificação da pessoa> - Lorem Ipsilum # # A Fazer # - Tarefa 1 # - Tarefa 2 # - subtarefa 2.1
Lembre-se que outra pessoa pode mexer no seu código mesmo que você não preveja isso inicialmente. Além disso você mesmo pode não lembrar mais o que você fez.
if __name__ == "__main__":
$(return >/dev/null 2>&1) if [ "$?" -ne "0" ]; then
Em algumas situações seu programa precisa utilizar senhas. Se sua execução for agendada e não houver uma pessoa para passar a senha na hora, como fazer? Colocar a senha hardcoded? E se seu código estiver sendo guardado num sistema de controle de versão, o que é uma boa prática?
Na prática criei uma função numa biblioteca geral para carregar variáveis de configuração, por conta disso meu arquivo de configuração é homônimo ao programa original adicionado de uma extensão padrão.