![](https://image.librarything.com/pics/fugue21/magnifier-left.png)
![A Philosophy of Software Design par John…](https://pics.cdn.librarything.com/picsizes/c3/bc/c3bcf4dd8ba8146597034687877433041414141_v5.jpg)
Cliquer sur une vignette pour aller sur Google Books.
Chargement... A Philosophy of Software Design (édition 2018)par John Ousterhout (Auteur)
Information sur l'oeuvreA Philosophy of Software Design par John Ousterhout ![]() Aucun Actuellement, il n'y a pas de discussions au sujet de ce livre. The creator of Tcl is alive and well and teaching CS somewhere. And that is part of what makes this book great - common software design failures are drawn from examples in his classroom, so he is able to explain the reasoning behind a design choice, and then explain how to do it better. The presentation is much less formal (and shorter) than the usual software design tome, which makes it a quick read. It's a short book and I didn't find anything I disagree with: it's all really good advice. Ousterhout takes issue with classitis (lots of shallow, simple classes that do one trivial thing) and rightly blames Java for the rise of this style. In discussing industry trends, he takes a quick shot at test-driven development, and is much more diplomatic than I would have been ("you're not writing software! you're debugging code into existence!"). Nothing is said about devops (aka Paying A Single Worker To Perform Two Jobs), though. aucune critique | ajouter une critique
Aucune description trouvée dans une bibliothèque |
Discussion en coursAucunCouvertures populaires
![]() GenresClassification décimale de Melvil (CDD)999History and Geography Oceania and elsewhere Extraterrestrial regionsClassification de la Bibliothèque du CongrèsÉvaluationMoyenne:![]()
Est-ce vous ?Devenez un(e) auteur LibraryThing. |
Design software to reduce complexity. Complexity is caused by obscurity and dependencies. A simple interface for a module is more important than simple implementation. Error handling makes a lot of complexity; design errors out of existence. Software should be easy to read rather than easy to write. The increments of software development (for sprints or additions) should be abstractions, not features. (