C # è un linguaggio di programmazione orientato agli oggetti multiparadigm, gestito e raccolto in modo indesiderato creato da Microsoft in parallelo con la piattaforma .NET
In genere sono d'accordo con la maggior parte degli avvisi di analisi del codice e provo ad aderirli. Tuttavia, sto avendo un momento più difficile con questo: CA1031: Non rilevare i tipi di eccezione generali Capisco la logica di questa regola. Ma, in pratica, se voglio intraprendere la stessa azione …
Sto lavorando a un team in cui il leader del team è un sostenitore virulento dei principi di sviluppo SOLID. Tuttavia, gli manca molta esperienza nell'ottenere software complessi fuori dalla porta. Abbiamo una situazione in cui ha applicato SRP a quella che era già una base di codice piuttosto complessa, …
Personalmente non mi sono imbattuto in una situazione in cui avevo bisogno di usare il tipo WeakReference in .Net, ma la credenza popolare sembra essere che dovrebbe essere usato nelle cache. Nella sua risposta a questa domanda, il dott. Jon Harrop ha fornito un'ottima tesi contro l'uso di riferimenti deboli …
Sto cercando una risposta definitiva da una fonte primaria o secondaria sul perché (in particolare) Java e C # hanno deciso di avere un metodo statico come punto di ingresso, piuttosto che rappresentare un'istanza dell'applicazione da un'istanza di una Applicationclasse (con il punto di ingresso essere un costruttore appropriato). Contesto …
Quali sono state le decisioni di progettazione che hanno sostenuto il fatto di voidnon essere costruibili e di non essere ammessi come tipo generico? Dopotutto è solo un vuoto speciale structe avrebbe evitato il PITA totale di avere distinti Funce Actiondelegati. (C ++ consente voidrendimenti espliciti e consente voidcome parametro …
Sto cercando di avvolgere la mia testa attorno a TDD, in particolare la parte di sviluppo. Ho guardato alcuni libri, ma quelli che ho trovato affrontano principalmente la parte di test: la storia di NUnit, perché il test è buono, rosso / verde / refactor e come creare un calcolatore …
Negli ultimi anni, stiamo lentamente passando al codice scritto progressivamente migliore, alcuni piccoli passi alla volta. Stiamo finalmente iniziando a passare a qualcosa che almeno assomiglia a SOLID, ma non siamo ancora del tutto lì. Da quando è stato effettuato il passaggio, una delle maggiori lamentele da parte degli sviluppatori …
Qualcuno una volta ha detto che dovremmo anteporre a tutti i nostri metodi i /// <summary>blocchi di commento (C #) ma non ha spiegato il perché. Ho iniziato a usarli e ho scoperto che mi infastidivano un po ', quindi ho smesso di usarli ad eccezione delle librerie e dei …
Questa domanda è soggettiva ma ero solo curioso di sapere come la maggior parte dei programmatori si avvicina a questo. L'esempio seguente è in pseudo-C # ma questo dovrebbe applicarsi anche a Java, C ++ e altri linguaggi OOP. Ad ogni modo, quando scrivo i metodi helper nelle mie classi, …
Anche se una domanda generale il mio scopo è piuttosto C # poiché sono consapevole che linguaggi come C ++ hanno semantiche diverse per quanto riguarda l'esecuzione del costruttore, la gestione della memoria, il comportamento indefinito, ecc. Qualcuno mi ha fatto una domanda interessante alla quale non è stato facile …
Ho una switchstruttura che ha diversi casi da gestire. L'operazione switchsu un enumche pone il problema del codice duplicato attraverso valori combinati: // All possible combinations of One - Eight. public enum ExampleEnum { One, Two, TwoOne, Three, ThreeOne, ThreeTwo, ThreeOneTwo, Four, FourOne, FourTwo, FourThree, FourOneTwo, FourOneThree, FourTwoThree, FourOneTwoThree // …
In C #, il seguente codice è valido interface I{ int property{get;set;} } Il che non ha alcun senso per me. Questo sembra infrangere uno dei principi più importanti delle interfacce: mancanza di stato (in altre parole, nessun campo). La proprietà non crea un campo privato implicito? Non sarebbe davvero …
Quindi, lavoro in .Net. Realizzo progetti open source in .Net. Uno dei miei maggiori problemi con esso non è necessario con .Net, ma con la comunità e le strutture circostanti. Sembra ovunque che gli schemi e le stringhe di nomi magici siano trattati come il modo migliore per fare tutto. …
Ho esaminato i termini iniezione costruttore e iniezione dipendenza mentre stavo esaminando gli articoli sui modelli di progettazione (Service Locator). Quando ho cercato su Google l'iniezione del costruttore, ho ottenuto risultati poco chiari, che mi hanno spinto a fare il check-in qui. Che cos'è l'iniezione del costruttore? È questo un …
La staticparola chiave su un membro in molte lingue significa che non dovresti creare un'istanza di quella classe per poter avere accesso a quel membro. Tuttavia, non vedo alcuna giustificazione per fare un'intera classe static. Perché e quando dovrei fare un corso static? Quali vantaggi ottengo dal fare una lezione …
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.