Rifacimento degli odori di codice nel codice Web Form di ASP.NET dietro i file: è rischioso? È saggio? È una perdita di tempo?

5

Dato un metodo lungo con Pac-Man ifs , sarebbe opportuno:

  1. Suddividi i blocchi di codice in regioni.
  2. Quindi rifatta i blocchi di codice in metodi.

O sarebbe meglio lasciarlo da solo?

Sarebbe rischioso?
Sarebbe una perdita di tempo?

In assenza di test unitari automatizzati, sto cercando di capire la relazione rischio-rendimento associata a questa manuever.

    
posta Jim G. 11.11.2010 - 23:03
fonte

3 risposte

2

Il tuo piano o ripulire la logica sui if (nei casi in cui la struttura di pacman è un ordine inefficiente o la visualizzazione delle condizioni) è solitamente il punto in cui avviare IMHO.

Se vale la pena,

  • ti aspetti di cambiare molto questa pagina?
  • hai difficoltà a capire cosa sta succedendo lì al punto che stai diffidando di modificarlo?
  • pensi che stia causando un problema di prestazioni o stabilità?
  • non c'è un vero motivo per cui è stato fatto in questo modo in primo luogo?
  • sarebbe banale convalidare manualmente la correttezza del fattore?

IMHO a meno che tu non abbia alcune risposte "sì" forti a quelle domande ri-factoring è un esercizio discutibile rispetto al rischio di botching e il fatto che potresti aggiungere un nuovo valore altrove con il tuo tempo.

    
risposta data 11.11.2010 - 23:58
fonte
3

È rischioso in assenza di test automatici. Certo che testerai mentre procederai, ma è noioso e soggetto a errori. Idealmente dovresti scrivere dei test unitari per catturare il comportamento attuale, ma non è sempre possibile.

Essendo stato in questa posizione prima (con PHP), se il codice puzza davvero, rifattalo molto lentamente e con molta attenzione.

Penso che il suono del tuo piano - prendi il metodo lungo, lo suddivida con spazi nei paragrafi e prova il metodo Extract. Il modo in cui lo fai dipende dal numero di variabili in gioco e dal loro modo di interagire. Prova a tracciare le dipendenze di un paragrafo prima di iniziare.

Ne vale la pena? Se il codice è davvero terribile e la sua terribilità sta iniziando a diffondersi, allora è il momento di rimanere bloccati lì. Se funziona bene da anni, rischi di introdurre bug in qualcosa che per ora funziona solo.

    
risposta data 11.11.2010 - 23:30
fonte
2

0. Elabora qual è la logica delle istruzioni if.

Molto spesso quando guardo un set di pac-man, se trovo che se estraggo qualcosa come una tabella di verità di tutte le condizioni in questione, posso trovare un modo migliore per risolvere il problema.

In questo modo puoi anche valutare se c'è un metodo migliore, come potresti scomporlo ulteriormente e (e questo è un grosso problema con questo tipo di codice) se ci sono dei buchi nella logica.

Dopo averlo fatto, puoi probabilmente scomporlo in un paio di istruzioni switch e un paio di metodi e salvare il prossimo povero mook che deve passare attraverso il codice un sacco di problemi.

    
risposta data 11.11.2010 - 23:31
fonte

Leggi altre domande sui tag