Ingegneria software

Domande e risposte per professionisti, accademici e studenti che lavorano nel ciclo di vita dello sviluppo di sistemi

5
Perché Python non consente lambda multilinea?
Qualcuno può spiegare i motivi concreti per cui BDFL ha scelto di realizzare una linea singola Python lambdas? Questo è buono: lambda x: x**x Ciò provoca un errore: lambda x: x**x Capisco che rendere Lambda multilinea in qualche modo "disturberebbe" le normali regole di rientro e richiederebbe l'aggiunta di ulteriori …
50 lambda  python 




6
Perché molte funzioni che restituiscono strutture in C, restituiscono effettivamente i puntatori alle strutture?
Qual è il vantaggio di restituire un puntatore a una struttura anziché restituire l'intera struttura returnnell'istruzione della funzione? Sto parlando di funzioni come fopene altre funzioni di basso livello, ma probabilmente ci sono funzioni di livello superiore che restituiscono anche puntatori a strutture. Credo che questa sia più una scelta …

2
Quali sono i miglioramenti di MVP su MVC?
Ho letto per tre giorni i modelli Model-View-Controller (MVC) e Model-View-Presenter (MVP) . E c'è una domanda che mi dà molto fastidio. Perché i progettisti di software hanno inventato MVP, quando esisteva già un MVC? Quali problemi hanno dovuto affrontare, che MVC non ha risolto (o risolto male), ma MVP …






5
Perché tutte le funzioni <algoritmo> accettano solo intervalli, non contenitori?
Ci sono molte funzioni utili in &lt;algorithm&gt;, ma tutte operano su "sequenze" - coppie di iteratori. Ad esempio, se ho un contenitore e mi piace eseguirlo std::accumulate, devo scrivere: std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Quando tutto ciò che intendo fare è: int sum = std::accumulate(myContainer, …

6
Soluzione alternativa per Java verificate eccezioni
Apprezzo molto le nuove funzionalità di Java 8 su lambdas e le interfacce dei metodi predefiniti. Tuttavia, mi annoio ancora con le eccezioni verificate. Ad esempio, se voglio solo elencare tutti i campi visibili di un oggetto, vorrei semplicemente scrivere questo: Arrays.asList(p.getClass().getFields()).forEach( f -&gt; System.out.println(f.get(p)) ); Tuttavia, poiché il getmetodo …


1
Perché c'è un "nuovo" in Go?
Sono ancora perplesso sul perché abbiamo newin Go. Quando vuoi creare un'istanza di una struttura, lo fai t := Thing{} e puoi ottenere un puntatore a una nuova istanza facendo t := &amp;Thing{} Ma c'è anche questa possibilità: t := new(Thing) Quest'ultimo sembra un po 'estraneo al resto della lingua. …
49 go 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.