Di recente ho visto "All the Little Things" da RailsConf 2014. Durante questo discorso, Sandi Metz ha riformulato una funzione che include una grande dichiarazione if nidificata: def tick if @name != 'Aged Brie' && @name != 'Backstage passes to a TAFKAL80ETC concert' if @quality > 0 if @name != …
Se la mia funzione soddisfa due requisiti al di sotto, credo che la funzione Sum restituisca la somma degli elementi in un elenco in cui l'articolo viene valutato come vero per una determinata condizione si qualifica come funzione pura, non è vero? 1) Per un dato set di i / …
Per quanto ho imparato, IRepositorydovrebbe contenere CRUD. Poi abbiamo ereditato questo IRepositorynelle nostre altre interfacce come IProducte attuare IProductclasse concreta ProductRepository, con metodi come GetAllProducts(), Top5Products(). Potremmo anche fare lo stesso con l'architettura di livello n. come, creazione DAL Class Librarye in essa definire una classe Productcon metodi come GetAllProducts(), …
In primo luogo, ho letto un estratto del saggio di Edsger W. Dijkstra del 1974 "Sul ruolo del pensiero scientifico": Lascia che provi a spiegarti, quali sono i miei gusti caratteristici di tutto il pensiero intelligente. È che uno è disposto a studiare in profondità un aspetto della propria materia …
Le informazioni su autorizzazioni e ruoli del client devono essere incluse in JWT? Avere tali informazioni nel token JWT sarà molto utile poiché ogni volta che arriva un token valido, sarebbe più semplice estrarre le informazioni sull'autorizzazione dell'utente e non sarà necessario chiamare il database per lo stesso. Ma includere …
Nel mio primo lavoro come sviluppatore di software, il mio team ha utilizzato Agile / Scrum per gestire il flusso di lavoro del nostro progetto e ha funzionato abbastanza bene. Ho avuto dei mentori esperti che mi hanno messo sulla strada giusta - devo loro un grande debito di gratitudine. …
Setup: supponiamo di avere un tipo chiamato Iteratorche ha un parametro type Element: interface Iterator<Element> {} Quindi abbiamo un'interfaccia Iterableche ha un metodo che restituirà un Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } Il problema con l' Iteratoressere generico è che …
Ho incontrato un dibattito tra alcuni amici e I. Preferiscono eccezioni generali come ClientErrorExceptione ServerErrorExceptioncon i dettagli come campi dell'eccezione, mentre preferisco rendere le cose più specifiche. Ad esempio, potrei avere una manciata di eccezioni come: BadRequestException AuthenticationFailureException ProductNotFoundException Ognuno di questi costruito sulla base del codice di errore restituito …
Stavo leggendo in questo post sul blog l'anti-pattern for-if, e non sono abbastanza sicuro di capire perché sia un anti-pattern. foreach (string filename in Directory.GetFiles(".")) { if (filename.Equals("desktop.ini", StringComparison.OrdinalIgnoreCase)) { return new StreamReader(filename); } } Domanda 1: È a causa del return new StreamReader(filename);dentro for loop? o il fatto che …
Ho studiato architetture di microservizi cercando di ottenere una panoramica di alto livello di tutti i pro e i contro, perché e perché, molte informazioni che sto leggendo / guardando provengono da ThoughtWorks (Martin Fowler, Neal Ford, et al). La maggior parte del lavoro di Martin Fowler sull'argomento ha pochi …
Riesco a vedere i vantaggi di oggetti mutabili vs immutabili come gli oggetti immutabili che tolgono molto dalla risoluzione dei problemi nella programmazione multi-thread a causa dello stato condiviso e scrivibile. Al contrario, gli oggetti mutabili aiutano a gestire l'identità dell'oggetto piuttosto che creare ogni volta una nuova copia e …
Esistono argomenti oggettivi e sostenibili di ingegneria del software a favore o contro la modifica dei valori dei parametri per valore nel corpo di una funzione? Uno sputo ricorrente (per lo più divertente) nel mio team è se i parametri passati per valore debbano essere modificati. Un paio di membri …
Supponiamo di avere un metodo lungo come questo: public void SomeLongMethod() { // Some task #1 ... // Some task #2 ... } Questo metodo non ha parti ripetitive che dovrebbero essere spostate in un metodo separato o in una funzione locale. Ci sono molte persone (incluso me) che pensano …
Quando si analizza l'input dell'utente, si consiglia generalmente di non generare eccezioni ma piuttosto di utilizzare metodi di convalida. Nel .NET BCL, questa sarebbe la differenza tra, ad esempio, int.Parse(genera un'eccezione su dati non validi) e int.TryParse(restituisce falsedati non validi). Sto progettando il mio Foo.TryParse(string s, out Foo result) e …
Prima di tutto, voglio dire che sono abituato a fare la Programmazione procedurale come il mio hobby: sto cercando di imparare OOP in un paio di lingue e capire la teoria , ma non la pratica. Ho un progetto per animali domestici che volevo costruire, in particolare in PHP con …
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.