A Philosophy of Software Design, 2nd Edition

Add to wishlistAdded to wishlistRemoved from wishlist 0
Add to compare

760.00

Category: Tag:

A Philosophy of Software Design, 2nd Edition
Price: ₹760.00
(as of Nov 01, 2024 19:03:19 UTC – Details)



This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply.

ASIN ‏ : ‎ B09B8LFKQL
Language ‏ : ‎ English
File size ‏ : ‎ 3679 KB
Text-to-Speech ‏ : ‎ Enabled
Screen Reader ‏ : ‎ Supported
Enhanced typesetting ‏ : ‎ Enabled
X-Ray ‏ : ‎ Enabled
Word Wise ‏ : ‎ Not Enabled
Print length ‏ : ‎ 198 pages
Page numbers source ISBN ‏ : ‎ 1732102228

10 reviews for A Philosophy of Software Design, 2nd Edition

0.0 out of 5
0
0
0
0
0
Write a review
Show all Most Helpful Highest Rating Lowest Rating
  1. Selva Kumar

    A must have for all software engineers
    Amazing book. Designing software systems are complex. There are many books and courses which teach software programming. But very few talk about design. This book is not a “How to” guide for software design, nor will it give you detailed design patterns. This book answers a profound question “What is a good software design?”. This book, with many examples, gives us a fundamental understanding of good software design. I can confidently say no other software design book tackles software design as this book does. Highly recommended, and keep this book open when writing code.

    Helpful(0) Unhelpful(0)You have already voted this
  2. elvyn

    Best book to describe software design.
    I like the author’s approach to the subject. He debunked most of the design myths by using simple examples and explained the process of decomposition.

    Helpful(0) Unhelpful(0)You have already voted this
  3. Aniruddha

    Too basic, IMO!
    I bought this with high hopes, as the author is well respected, well known.I felt the content is too basic (simple) which anyone with a bit of experiencein computer-science/software-engineering would already know!

    Helpful(0) Unhelpful(0)You have already voted this
  4. Outtakes2640

    Amazing Book
    Must read for IT professionals of all levels. Apt examples complementing every idea discussed by the author which makes it easy to follow, understand and remember.

    Helpful(0) Unhelpful(0)You have already voted this
  5. Akshay

    Recommended reading for new developers
    Shipped quickly, in good condition, great seller communication.The book itself is concise and thought provoking. A useful read if you are looking to improve your code’s readability.

    Helpful(0) Unhelpful(0)You have already voted this
  6. Daniel Constantinov

    Esse livro é uma rara exceção no mundo de hoje. A didática do autor é fascinante e sua habilidade de transmitir o que realmente importa é notável.Mudou minha mente como programador e resolveu muitos conflitos que me afligiam.É um texto conciso, claro e objetivo que todo programador deveria ler (e aplicar).A lucidez do autor em falar de temas tão comuns aos programadores vem tanto da sua experiência prática como dos seus anos lecionando a matéria, o que é sem dúvida um enorme diferencial na relevância desse texto.Simplesmente fantástico. Recomendo fortemente !

    Helpful(0) Unhelpful(0)You have already voted this
  7. Kevin Rohrbaugh

    This book is clear, concise, and avoids padding for the sake of page count. This mirrors how the author advocates that software should be designed: minimize complexity, and pursue simplicity. The book lays out many strategies to achieve this goal, while also explaining how one approach reinforces and strengthens another.I found some of the examples to feel a bit academic, yet most do a good job of clarifying the concept being supported. The author has also offered rebuttals for many of the common reasons developers underinvest in software design, which hopefully helps readers confront their internalized self-bargaining techniques (some of which can be seen by reading other reviews here).My primary criticism is that I had hoped for a chapter or two about how to approach a poorly designed system and move it toward a clean design. There’s really only a few spots where even needing to make a trade-off like this is recognized, and the most prominent ends with the proposed solution being to ship the feature on the deadline and ask for refactor time in the future. This almost never happens, since there’s always another deadline on the horizon. Another place where the problem is briefly acknowledged makes the argument to always leave code with a better design than it was found in. This isn’t always possible, however, as sometimes it’s necessary to build iteratively around poor design (violating the consistency and complexity principles) before being able to eliminate it. In other words, on a large system, it’s sometimes necessary to make a mess even messier before you can clean it up. I’d love to read the author’s perspective on this facet of software design, and how to reason through such trade-offs.That said, given that my main critique is that I’d like to hear even more from the author on the topic of software design, I can easily recommend this book to every professional, or aspiring, software engineer. For more senior folks, it’ll likely be a crystallization of wisdom you’ve already learned, in a form that’ll be easier for you to socialize with the rest of your team.I, for one, would love to work on any team where the contents of this book are really internalized and applied.

    Helpful(0) Unhelpful(0)You have already voted this
  8. Pablo

    Para mi, un libro indispensable para personas en la industria, pues provee consejos sobre cómo escribir código de calidad

    Helpful(0) Unhelpful(0)You have already voted this
  9. Samahell

    Possibly my favourite tech book ever.Unlike other “clean code” books, it’s not just a collection of advice, it unfolds a real theoretical framework that embodies the perks it touts in good design: simplicity, concision, consistency and pragmatism.It felt like the author somehow found just the right abstractions to describe what we pursue in good code.All served by spot on mental models (deep modules, information leakage), simple yet precise language and telling examples.

    Helpful(0) Unhelpful(0)You have already voted this
  10. Darko Della Pietra

    Qualcuno può essere titubante riguardo a comprare un libro di software che ne parla attraverso la filosofia, ma molti esempi pratici sono presenti e spiega tecniche efficaci su come fare design del software. Raccomandato

    Helpful(0) Unhelpful(0)You have already voted this

    Add a review

    Your email address will not be published. Required fields are marked *

    shopindia
    Logo
    Compare items
    • Total (0)
    Compare
    0
    Shopping cart