Desenvolvo software nos últimos três anos, mas recentemente acordei com a ignorância sobre as boas práticas. Isso me levou a começar a ler o livro Clean Code , que está melhorando minha vida, mas estou lutando para ter uma ideia de algumas das melhores abordagens para escrever meus programas.
Eu tenho um programa Python no qual eu ...
- use argparse
required=True
para aplicar dois argumentos, que são os dois nomes de arquivo. o primeiro é o nome do arquivo de entrada, o segundo é o nome do arquivo de saída - tem uma função
readFromInputFile
que primeiro verifica se um nome de arquivo de entrada foi inserido - tem uma função
writeToOutputFile
que primeiro verifica se um nome de arquivo de saída foi inserido
Meu programa é pequeno o suficiente para que eu acredite que as verificações 2 e 3 são redundantes e devem ser removidas, liberando ambas as funções de uma if
condição desnecessária . No entanto, também fui levado a acreditar que "a verificação dupla está correta" e pode ser a solução certa em um programa em que as funções podem ser chamadas de um local diferente, onde a análise de argumentos não ocorre.
(Além disso, se a leitura ou gravação falhar, eu tenho um try except
em cada função para gerar uma mensagem de erro apropriada.)
Minha pergunta é: é melhor evitar toda verificação de condição redundante? A lógica de um programa deve ser tão sólida que as verificações precisem ser feitas apenas uma vez? Existem bons exemplos que ilustram isso ou o contrário?
EDIT: Obrigado a todos pelas respostas! Eu aprendi algo com cada um. Ver tantas perspectivas me dá uma compreensão muito melhor de como abordar esse problema e determinar uma solução com base em meus requisitos. Obrigado!