Esiste un nome per iterare tra il refactoring e lo sviluppo delle funzionalità?

4

Sto lavorando a un progetto personale e mi sono ritrovato a passare da un refactoring per un giorno o due e poi a qualche aggiunta di funzionalità per alcuni giorni. Mi piace, e ho notato che era simile a come un istruttore con cui ho lavorato voleva rielaborare il sito web della classe. In primo luogo, ha congelato le funzionalità e ha lavorato al refactoring del sito Web, quindi una volta che è stato fatto, si è concentrata sulle funzionalità e ha solo notato le cose da refactoring.

Che cos'è questo processo di refactoring-features-repeat chiamato?

[Contesto: sono uno studente di dottorato in informatica negli Stati Uniti. La mia esperienza con l'ingegneria del software di per sé era un breve stage di ingegneria del software, ma non era in un'azienda il cui prodotto principale era il software.]

    
posta Mark Miller 05.03.2018 - 04:11
fonte

3 risposte

6

Potresti descrivere qualcuno che segue Sviluppo guidato dal comportamento .

Potrestisemplicementedescriverequalcunochesegue Test Driven Development .

Sevuoiqualcosacherichiedespecificamenteilrefactoringdimoltecosementretuttelefunzionalitàsonoinattesa,nonconoscoalcunprocessodenominatochelocopra.Sochel'hofattoancheio.Fateneabbastanzaelochiamiamoriscrittura.

Piùtipicamenteilciclodirefactoringèfatto,noncon"make the design awesome" in mente, ma una nuova funzionalità in mente. Il refactoring riordina il codice in un modo che facilita l'aggiunta della nuova funzione. Facendo prima il refactoring ci risparmiamo il dolore di combattere il vecchio design. Certo, a volte il refactoring si limita a ripulire il codice. Quindi c'è un po 'di confusione su dove esattamente quel passo "start" vada davvero.

    
risposta data 05.03.2018 - 04:40
fonte
-2

Nessun processo a cui possa pensare. Tuttavia c'è un processo di comprensione del problema che è lo sviluppo iniziale e quindi una volta consolidato ciò che deve essere fatto in mente, refactoring il codice per renderlo più semplice e più manutenibile. So che questo è spesso ciò che farò.

@CandiedOrange mostra la pratica accettata di TDD con una bella grafica :). BDD si nutre anche di test di unità mutevoli, ma trovo che ciò avvenga più spesso che non solo quando vengono rilevati errori.

    
risposta data 05.03.2018 - 05:28
fonte
-2

Martin Fowler nel suo libro su "refactoring" lo descrive come un "cappello" diverso.

Per me è parte di un più ampio ciclo di programmazione:

Scrivi codice - > refactor - > scrivi codice - > refactor - > ...

Non deve essere TDD. Capita solo di essere parte integrante di esso.

    
risposta data 18.03.2018 - 13:05
fonte

Leggi altre domande sui tag