Il refactoring è una tecnica disciplinata per ristrutturare un corpo di codice esistente, alterando la sua struttura interna senza modificarne il comportamento esterno.
sfondo Sto lavorando a un progetto C # in corso. Non sono un programmatore C #, principalmente un programmatore C ++. Quindi mi hanno assegnato compiti sostanzialmente semplici e di refactoring. Il codice è un casino. È un grande progetto. Poiché i nostri clienti richiedevano rilasci frequenti con nuove funzionalità …
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 4 anni fa . Sto lavorando a un'applicazione abbastanza grande e buggy - e a …
Dove lavoro, le persone (i consulenti) si sentono pressate per rilasciare funzionalità il più rapidamente possibile. Quindi, invece di dedicare troppo tempo a pensare a come fare le cose nel modo giusto o perché non vogliono rompere nulla, il codice viene copiato da moduli diversi e modificato. Non è facile …
Sto eseguendo il refactoring di un'enorme classe di codice legacy. Refactoring (presumo) sostiene questo: scrivere test per la classe legacy rifatti il diavolo fuori dalla classe Problema: una volta effettuato il refactoring della classe, i miei test nel passaggio 1 dovranno essere modificati. Ad esempio, ciò che una volta era …
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 5 anni fa . Ho appena scritto una funzione che si estende su circa 100 …
Il problema Diciamo che ho una classe chiamata DataSourceche fornisce un ReadDatametodo (e forse altri, ma manteniamo le cose semplici) per leggere i dati da un .mdbfile: var source = new DataSource("myFile.mdb"); var data = source.ReadData(); Qualche anno dopo, decido di voler supportare i .xmlfile oltre ai .mdbfile come origini …
Abbiamo campi "prioritari" e "severi" nel nostro sistema di tracciamento dei bug. Definiamo la gravità come "come influenza l'utente" e la priorità come "come influenza il prodotto". La mia domanda è su come classificare un'attività di "miglioramento del codice" in ordine di gravità e priorità. Supponiamo che il miglioramento non …
Chiuso. Questa domanda è fuori tema . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che sia in argomento per Software Engineering Stack Exchange. Chiuso 4 anni fa . Il contesto: è un progetto interno (che non credo che molte persone usino) è vecchio …
Enigma: durante il lavoro su una nuova funzionalità o la correzione di un difetto, si riscontra un problema legacy nel codice. Cosa dovresti fare Risolvilo e rischia di alterare il comportamento del codice. O ha funzionato fino ad ora da qualche colpo di fortuna, oppure il difetto non è stato …
Supponiamo di avere 1001 clienti che costruiscono le loro dipendenze direttamente anziché accettare iniezioni. Il refactoring del 1001 non è un'opzione secondo il nostro capo. In realtà non ci è nemmeno permesso l'accesso alla loro fonte, solo ai file di classe. Ciò che dovremmo fare è "modernizzare" il sistema che …
Per me, il codice boilerplate è ovviamente negativo. Tuttavia, ho incontrato uno sviluppatore che mostra resistenza in qualsiasi tentativo di ridurre la piastra di cottura. Mi sono reso conto che non avevo avuto una discussione prontamente formata e ben ponderata oltre l'aborrenza che ho sviluppato per questo nel tempo. Affinché …
Durante una discussione, uno dei miei colleghi ha detto che ha qualche difficoltà con il suo progetto attuale mentre cerca di risolvere i bug. "Quando risolvo un bug, qualcos'altro smette di funzionare altrove", ha detto. Ho iniziato a pensare a come ciò potesse accadere, ma non riesco a capirlo. A …
Adoro il fatto che la scrittura di Python, Ruby o Javascript richieda così poca caldaia. Adoro i costrutti funzionali semplici. Adoro la sintassi pulita e semplice. Tuttavia, ci sono tre cose in cui sono davvero pessimo durante lo sviluppo di un software di grandi dimensioni in un linguaggio dinamico: Navigazione …
Ti è mai capitato di riscontrare un caso di duplicazione del codice in cui, osservando le linee di codice, non riuscivi a inserirvi un'astrazione tematica che descriva fedelmente il suo ruolo nella logica? E cosa hai fatto per affrontarlo? È la duplicazione del codice, quindi idealmente dobbiamo fare un po …
Per quelli di voi che hanno la fortuna di non lavorare in una lingua con portata dinamica, lasciate che vi dia un piccolo aggiornamento su come funziona. Immagina uno pseudo-linguaggio, chiamato "RUBELLA", che si comporta in questo modo: function foo() { print(x); // not defined locally => uses whatever value …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.