Ultimamente ho preso l'abitudine di "mascherare" le raccolte Java con nomi di classe a misura d'uomo. Alcuni semplici esempi: // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } O: // If you saw a ArrayList<ArrayList<?>> being passed around in the code, …
Devo estendere un modulo esistente di un progetto. Non mi piace il modo in cui è stato fatto (un sacco di anti-pattern coinvolti, come il codice copia / incollato). Non voglio eseguire un refactor completo per molte ragioni. Dovrei: creare nuovi metodi usando le convenzioni esistenti, anche se mi sembra …
Al fine di gestire diversi possibili errori che non dovrebbero interrompere l'esecuzione, ho una errorvariabile che i clienti possono controllare e utilizzare per generare eccezioni. È un anti-pattern? C'è un modo migliore per gestirlo? Per un esempio di ciò in azione puoi vedere l' API mysqli di PHP . Supponiamo …
Ai miei colleghi piace dire "logging / caching / etc. È una preoccupazione trasversale" e quindi procedere usando il singleton corrispondente ovunque. Tuttavia amano IoC e DI. È davvero una scusa valida per violare il principio SOLI D ?
Mentre scrivo una libreria per un grande progetto a cui sto lavorando al lavoro, è emerso un problema che richiedeva l'invio di un token a un indirizzo e-mail, quindi il codice veniva restituito per un ulteriore utilizzo. Il mio collega dice di leggere da STDIN (usando Python:) code = input("Enter …
La domanda su dove dovrei mettere funzioni che non sono correlate a una classe ha suscitato un dibattito sul fatto che abbia senso in C ++ combinare funzioni di utilità in una classe o semplicemente farle esistere come funzioni libere in uno spazio dei nomi. Vengo da uno sfondo C …
Stavo discutendo con un collega e alla fine abbiamo avuto intuizioni contrastanti sullo scopo della sottoclasse. La mia intuizione è che se una funzione primaria di una sottoclasse è esprimere un intervallo limitato di possibili valori del suo genitore, allora probabilmente non dovrebbe essere una sottoclasse. Ha sostenuto l'intuizione opposta: …
Considera il seguente disegno public class Person { public virtual string Name { get; } public Person (string name) { this.Name = name; } } public class Karl : Person { public override string Name { get { return "Karl"; } } } public class John : Person { public …
Supponiamo di avere un flusso di cose e che voglio "arricchirle" a metà flusso, che posso usare peek()per fare questo, ad esempio: streamOfThings.peek(this::thingMutator).forEach(this::someConsumer); Supponiamo che la mutazione delle cose a questo punto nel codice sia un comportamento corretto - ad esempio, il thingMutatormetodo può impostare il campo "lastProcessed" sull'ora corrente. …
Ci sono alcuni nomi, in cui se ti ritrovi a cercare quei nomi, sai che hai già incasinato qualcosa. Per esempio: XxxManager Questo è negativo perché una classe dovrebbe descrivere ciò che fa la classe. Se la parola più specifica che puoi trovare per quello che fa la classe è …
Stavo leggendo un articolo sulle cattive pratiche di programmazione . Ha menzionato - "Codice Yo-Yo" che converte un valore in una rappresentazione diversa, quindi lo converte nel punto in cui è iniziato (ad esempio: conversione di un decimale in una stringa e poi di nuovo in un decimale, oppure riempimento …
Ho appena avuto una discussione su una scelta di design dopo una revisione del codice. Mi chiedo quali siano le tue opinioni. C'è questa Preferencesclasse, che è un secchio per le coppie chiave-valore. I valori nulli sono legali (è importante). Prevediamo che alcuni valori potrebbero non essere ancora stati salvati …
Di recente mi sono imbattuto in un articolo di MSDN su ramificazione e fusione e SCM: Branching and Merging Primer - Chris Birmele . Nell'articolo dicono che 'big bang merge' è un antipasto che si fonde: Big Bang Merge - differire la fusione dei rami fino alla fine dello sforzo …
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 . Esiste un modello anti che descrive un sistema software storicamente sviluppato …
Negli ultimi mesi, sono inciampato alcune volte sulla seguente tecnica / modello. Tuttavia, non riesco a trovare un nome specifico, né sono sicuro al 100% di tutti i suoi vantaggi e svantaggi. Il modello è il seguente: All'interno di un'interfaccia Java, una serie di metodi comuni è definita come al …
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.