Il refactoring è una tecnica disciplinata per ristrutturare un corpo di codice esistente, alterando la sua struttura interna senza modificarne il comportamento esterno.
Per un po 'ho cercato di imparare a scrivere unit test per il mio codice. Inizialmente ho iniziato a fare il vero TDD, dove non avrei scritto alcun codice fino a quando non avrei scritto prima un test fallito. Tuttavia, recentemente ho avuto un problema spinoso da risolvere che ha …
Siamo tutti consapevoli che i numeri magici (valori hardcoded) possono creare scompiglio nel tuo programma, soprattutto quando è il momento di modificare una sezione di codice che non ha commenti, ma dove traccia la linea? Ad esempio, se si dispone di una funzione che calcola il numero di secondi tra …
TD; DR: C'era un po 'di confusione su ciò che stavo chiedendo, quindi ecco l'idea alla base della domanda: Ho sempre voluto che la domanda fosse quella che è. Potrei non averlo articolato bene in origine. Ma l'intento è sempre stato " è un codice modulare, separato, accoppiato, disaccoppiato, refactored …
Sono sicuro che c'è un termine per il seguente bit di refactoring, ma non riesco a ricordarmelo e il mio Google-Fu mi sta fallendo! Il refactor si sposta se le istruzioni nel punto in cui avranno il maggiore impatto, ad esempio cambiando questo $test = someFunctionThatReturnsABool(); for($x = 0; $x …
Lavoro su una base di codice piuttosto grande. Centinaia di classi, tonnellate di file diversi, molte funzionalità, occorrono più di 15 minuti per estrarre una nuova copia, ecc. Un grosso problema con una base di codice così grande è che ha parecchi metodi di utilità e tali che fanno la …
Secondo la risposta accettata su " Razionale per preferire le variabili locali alle variabili di istanza? ", Le variabili dovrebbero vivere nel più piccolo ambito possibile. Semplifica il problema nella mia interpretazione, significa che dovremmo refactoring questo tipo di codice: public class Main { private A a; private B b; …
Ad esempio, avevo visto alcuni codici che creano un frammento come questo: Fragment myFragment=new MyFragment(); che dichiara una variabile come frammento anziché MyFragment, che MyFragment è una classe figlio di frammento. Non sono soddisfatto di questa linea di codici perché penso che questo codice dovrebbe essere: MyFragment myFragment=new MyFragment(); che …
Ho letto la maggior parte del libro di Refactoring di Fowler e ho refactored molte applicazioni nel mio passato grandi e piccole. Una delle cose più difficili che trovo ad insegnare è "quando" rifattorizzare. Tendo a farlo basandomi su un istinto che in passato mi è servito molto bene. Tuttavia, …
Questo è un argomento alquanto controverso, e immagino ci siano tante opinioni quanti sono i programmatori. Ma per il gusto di farlo, voglio sapere quali sono le pratiche comuni negli affari (o nei luoghi di lavoro). Nel mio posto di lavoro abbiamo una rigida guida alla programmazione. Una sezione è …
Mi sono trovato in una situazione difficile fino a tardi. Ho lavorato su un gioco con un compagno di programmazione per quasi 8 mesi. Entrambi abbiamo iniziato come programmatori principianti verso agosto dello scorso anno, è uno studente CS del 2 ° anno, sono una tecnologia di supporto IT commerciale …
Questo articolo sul debito tecnico presenta alcuni aspetti positivi, tra cui: Lavorare su "questioni tecniche" funziona meglio quando è guidato da storie. La base di codice ha probabilmente bisogno di lavorare ovunque, ma il payoff verrà ricevuto solo dove il codice verrà elaborato per motivi rivolti all'utente. Se nessuna storia …
In un'altra domanda, è stato rivelato che uno dei problemi con TDD è mantenere la suite di test in sincronia con la base di codice durante e dopo il refactoring. Ora sono un grande fan del refactoring. Non ho intenzione di rinunciare a fare TDD. Ma ho anche riscontrato i …
Ho intenzione di salvare un po 'di payload di stringa nel database. Ho due configurazioni globali: crittografia compressione Questi possono essere abilitati o disabilitati usando la configurazione in modo che sia abilitato solo uno di essi, entrambi siano abilitati o entrambi siano disabilitati. La mia attuale implementazione è questa: if …
Stavo leggendo questo articolo e mi chiedevo: ci liberiamo di tutte le istruzioni switch sostituendole con un dizionario o una fabbrica in modo che non ci siano affatto istruzioni switch nei miei progetti. Qualcosa non si è aggiunto del tutto. La domanda è: le istruzioni switch hanno qualche reale utilità …
Secondo Martin Fowler , il refactoring del codice è (enfasi il mio): Il refactoring è una tecnica disciplinata per ristrutturare un corpo di codice esistente, alterando la sua struttura interna senza modificarne il comportamento esterno . Il suo cuore è una serie di piccoli comportamenti che preservano le trasformazioni. Ogni …
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.