Ingegneria software

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





11
Chiarire il principio della responsabilità unica
Il principio di responsabilità singola afferma che una classe dovrebbe fare una sola cosa. Alcuni casi sono piuttosto chiari. Altri, tuttavia, sono difficili perché ciò che assomiglia a "una cosa" se vista a un dato livello di astrazione può essere più cose se vista a un livello inferiore. Temo anche …


17
Perché è utile Lisp? [chiuso]
Lisp ovviamente è un vantaggio per l' intelligenza artificiale , ma non mi sembra che Lisp sia più veloce di Java, C # o persino C. Non sono un maestro di Lisp, ma trovo incredibilmente difficile capire il vantaggio si potrebbe scrivere software aziendale in Lisp. Tuttavia è considerato come …
64 lisp 


19
Come mai i compilatori sono così affidabili?
Usiamo i compilatori su base giornaliera come se la loro correttezza sia data, ma anche i compilatori sono programmi e possono potenzialmente contenere bug. Mi sono sempre chiesto di questa infallibile robustezza. Hai mai riscontrato un bug nel compilatore stesso? Cos'è stato e come hai capito che il problema era …


4
La programmazione funzionale è più veloce nel multithreading perché scrivo cose in modo diverso o perché le cose sono compilate in modo diverso?
Mi sto tuffando nel mondo della programmazione funzionale e continuo a leggere ovunque che i linguaggi funzionali sono migliori per i programmi multithreading / multicore. Capisco come i linguaggi funzionali fanno molte cose in modo diverso, come la ricorsione , i numeri casuali ecc. Ma non riesco a capire se …

11
Un'espressione booleana più grande è più leggibile della stessa espressione suddivisa in metodi predicati? [chiuso]
Cosa è più facile da capire, una grande dichiarazione booleana (abbastanza complessa) o la stessa istruzione suddivisa in metodi predicati (molto codice extra da leggere)? Opzione 1, la grande espressione booleana: private static bool ContextMatchesProp(CurrentSearchContext context, TValToMatch propVal) { return propVal.PropertyId == context.Definition.Id && !repo.ParentId.HasValue || repo.ParentId == propVal.ParentId && …
63 c#  readability 




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.