Pergunta

Eu sou um empreiteiro e muitas vezes me trouxe em projetos para ser cabeça para baixo e apenas implementar recursos para um prazo. Muitas vezes embora meu ritmo torna-se mais rápido do que o desenho subjacente. Então, muitas vezes eu acabar tendo que criar funções / métodos para executar uma tarefa de forma preliminar, enquanto se aguarda o design final.

O caso em questão, atualmente I foi encarregado de realizar a classificação padrão de alguns registros de uma forma que é muito complicado para o design de banco de dados atual (na verdade eu uso a função "campo" do MySQL, só que eu não acho que Java / Hibernate suporta). Então, eu criei uma função onde os registros podem, por enquanto, ser classificado no nível do aplicativo, que pode ser tanto ou totalmente evitado, uma vez que o trabalho de design de banco de dados necessário é feito implementou-re.

A minha preocupação é, uma vez que todo o design necessário é acabado (em geral e / ou especificamente no que se refere ao cenário descrito acima), eu não quero deixar para trás um rastro de funções / métodos possivelmente desnecessários. Às vezes, eles podem agregar valor ao projeto, mas às vezes eles podem acabar sendo uma camada desnecessária de engano no final.

Como causa eu deveria ser sobre isso? O que posso fazer para mitigar este? Normalmente ser um muito contratante curto prazo, eu normalmente não têm tempo - ou autoridade - para implementar algo como um "padrão de estratégia", que poderia ser a minha inclinação se eu fosse realmente responsável para a concepção global.

Foi útil?

Solução

Eu acho que uma certa quantidade de cruft é de se esperar que um evolui base de código. Mesmo quando você tenta ser sistemático sobre a exclusão de longe código não utilizado velho é difícil remover tudo. É sempre gratificante para encontrar código não utilizados no meu sistema que eu posso excluir.

tipagem forte é seu amigo aqui, uma vez que permite que você acompanhe os tipos e usos de uma forma muito melhor do que tipagem fraca. Portanto, fique longe desses tipos de dados texto, eles fazem a limpeza mais difícil.

Um realmente puro truque é se você pode reproduzir 24 horas de tráfego de seus sistemas de produção ao longo de um sistema de teste com uma ferramenta de cobertura de código em execução ao mesmo tempo. Isso é geralmente uma mina de ouro de código morto, mas pode ser difícil encontrar o tempo para lidar com grandes quantidades de limpeza entre outras prioridades;)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top