Elegant Objects
I**V
Great book about programming
Great book about Object-oriented programming. And not even object-oriented programming in particular, some sections about naming and NULL-s for example are applicable to other programming paradigms also.The author is a practicing programmer who writes a lot of code every day. And the book contains a lot of examples which are small and simplified of course but very useful to better understand the idea and how to implement it in code. I would recommend the author to pick one of his projects for his future books and explain all the principles using examples from that only particular project (simplified ones of course). To my mind that will make examples more consistent across the book.I found grouping into chapters a little bit weird but still every section is more or less independent from each other. One could start reading almost from any section of the book.So in conclusion: Great book which every Java programmer at least should read definitelly.The book is expensive but worth buying.
B**N
Elegant Objects is outrageous, offensive and will change the way you program if you give it a chance.
Elegant Objects is a book written by an OOP jihadist fundamentalist that is just as abrasive and uncompromising as an ISIS fatwa. The book represents a development philosophy that accuses the experienced OOP developer of being a procedural infidel all along.This book has fundamentally changed the way I code.The fundamentalist and dogmatic tone has caused several of my colleagues to return my copy before they were able to finish reading it. Do NOT let this happen to you! I actually found some of the more absolutist rhetoric hilarious. It is important to keep in mind that exaggeration can be used to make a larger point. You may be offended by Elegant Objects, but try to overcome your own outrage. Ask yourself, “What if I am truly wrong about what object oriented programming is?”I waited to submit this review until I had ample time to put some of the principles in practice. Immediately following the first reading, I tried to dogmatically follow the elegant object philosophy and I failed miserably. My code had for loops and if statements all over it. It is hard to break the procedural addiction. The first step is admitting you have a problem! If you don’t think that you have a problem, you need to read this book.I have been “object thinking” now for 8 months and my unit tests have become easier and lighter weight and my objects have become more powerful and extensible without even the slightest hint of implementation inheritance. My models are more representative of the physical model and every object actually has behavior instead of being nothing more than thinly veiled structures and function libraries.It is important to note that Elegant Objects philosophy is not able to be 100% implemented practically as languages stand today. Yegor’s arguments in the book seem impractible and quite outrageous when thought of in terms of today's computer languages. If you can look past that, you will find useful ways to improve whatever code you are writing right now.Elegant objects is a book that every programmer should read.
V**O
YOU MUST READ TRUE OOP
This is a really good book on OOP software. And it totally changed my mind. The author is also not native English speaker as me so his language is clear to any reader. It is quite easy to read and understand his essays. Too many people talk about OOP in software industry but too many of them are thinking in a wrong way. It must be readable by any programmer, I believe experience doesn't matter. These essays give wisdom vision of good software design and architecture and how they meet business requirements in harmony. If you need proper guide on OOP you must read Elegant Objects as first thing. I highly recommend it because of this is one of the best and non-formal book on software I've ever read. Agreed the author on many arguments: you had to do a lot of mistakes to become experienced.
K**N
Yegor does an excellent job of demonstrating how our current approach to OOP ...
As a developer who treats code as a craft, I found this book refreshing. Every once in awhile, someone will come along with a new way of approaching a well-established concept. Yegor does an excellent job of demonstrating how our current approach to OOP hinders software maintainability.I enjoyed his emphasis on maintainability over optimization, clear explanations, and his approach to viewing objects. If you are new to OOP, this book will help you learn proper habits. If you are a veteran, I would recommend you keep an open mind as you read. I highly recommend watching a video of one of his talks on YouTube before purchase.
A**R
Good book about forgotten knowledge
The book is really interseting. It gathers good practices and phylosophy of object oriented programming. I don't think it is controversial it rather shows where and why most of the developpers write procedural code instead of OO.The only thing I don't like about this book is style. It is a bit I-know-it-all for me. Although it is very subjective.
J**N
Much cleaner code organized logically.
After a number of years coding you look for better ways to write code. This book is definitely thought provoking, in a positive way. Includes plenty of succinct examples where he explains his logic. If you have ever thought "There must be a better/more elegant way." Then this book is for you. I'm honestly reading it a third time now. Lots of "traditional coding standards" that has not "felt right" where his reasoning makes sense. Already completed my first project implementing this and the code looks so much cleaner and I have confidence in my unit tests since they are also clean. Thanks for writing this!
A**R
Eye-opening
This book showed me that I didn't understand OOP very well. Now I do. I would advice to read it with open mind, don't let your ego to get on the way. Mistreatment of those poor objects must come to an end.
D**I
I recommend to read this books. Both easy to read and provides value
The main problems, at the current state of Java, it is possible to apply some of the principals but not all at once. Therefore, some of the suggestions become unpractical. Another problem that comes from the library vendors it is not always possible, especially in the production code ignore null paradigm and static objects. Also, when enterprise code is huge and becomes legacy code create each time new object may be costly and fail safe approach may not be avoidable. I am not saying that the all above is good and should be as it is BUT my main concern you cannot apply all these principals at once and even if you do, you would be in much bigger troubles as before because you automatically becomes the opposition of all existing practices in the industry for years. Also, as mentioned by some of the reviewers. Examples are not apply principles from the previous chapters, so when Yegor takes code, it always bad and never tuned with suggestions from previous chapters. It creates certain feeling of contradiction, it is not always bad, it is just how it is.Concrete points I disagree with:- Lazy evaluation using ctors is always good (I imagine many scenarios when without applying other principles from the book, this paradigm will put the knife into the develops back)- Chain exceptions but not log them (Logging is a very powerful technique and with large application you cannot recover on few points, sometimes you need notify customers, business that something went wrong and also do retrospective when failure was missed or was of less priority)- Functional programming is a bad design and not wise ides to use among OOP code (I will not any arguments to this, it is up to each individual to decide either use FP or not. My opinion it creates immutable objects that is good and comes along with ideas from the book and it reduces amount of boilerplate code has to be written, sometimes remove need of utilities)Point I like:- The style of book is awesome, I really like it- It is both easy to read and understand- If I disagree with some points, this book is still triggers some points into my head to ponder deeper about some concepts, approaches, etc.- There are many more my stars just say after meI recommend this book people who just started learning OOP or mostly for those who are professionals and disagree, dissatisfied with the state of the industry and what to revisit some of the old concepts and look on them from different angle.
D**K
Un excellent livre qui ne laisse pas indifférent
Tout comme Clean Code de Robert C. Martin, ce livre m'a remué dans mes habitudes de développeur.L'auteur montre à travers le livre ce que l'on doit faire en programmation objet, et que ce qui est fait en général est du procédural. L'idée qui est le fil conducteur du livre est de rendre le code plus maintenable. Et cela est notre but à tous, notre devoir même. Ce livre apporte sa pierre à l'édifice de façon claire, concise. Jetez un oeil à la table des matières, et si vous avez encore un doute, allez sur le site de l'auteur.Un pavé dans la mare que je recommande à tous, si vous savez mettre votre ego de côté.
J**S
Muy ameno y entretenido
Poquísimos libros sobre desarrollo de software son tan amenos y fáciles de leer. Ayuda a entender de verdad el porqué de la orientación a objetos
C**N
Buon libro se si vuole fare un passo in più
Ho in primis seguito l'autore sul suo blog, molto interessante il punto di vista critico rispetto alle modalità di sviluppo odierne che trascendono l'essenza di origine dello sviluppo OOP. I temi sono ben focalizzati ed è un piacere scoprire come sia possibile arricchire il team di lavoro con nuovi punti di vista. Definirei il libro come racconto di un puritano che illustra la vera essenza dello sviluppo object oriented in un volume quasi tascabile. Per gli appassionati del genere è sicuramente da avere in libreria o farsi prestare da un amico.
Trustpilot
1 month ago
1 day ago