- Title: Elegant Objects (Volume 1)
- Autor: Yegor Bugayenko
- Publisher (Publication Date): yegor256.com; 1.0 edition (February 22, 2016)
- Language: English
- ISBN-10: |
- ISBN-13: |
- File Format: EPUB, PDF
TL;DR There are 23 practical recommendations for object-oriented programmers. Most of them are completely against everything you’ve read in other books. For example, static methods, NULL references, getters, setters, and mutable classes are called evil.
“Yegor Bugayenko’s books, Elegant Objects I & II, show you how to correctly and elegantly implement the object concept in code; while all other books show you how to use code to warp and corrupt the object concept.” – David West, Author of Object Thinking. “Probably the most practical book about OOP I’ve read so far.” – Anton Arhipov, Java Champion, Developer Advocate at ZeroTurnaround.”I definitely enjoyed this book and will be re-reading it again soon.” – Ben Nadel, Co-founder at InVision.”It’s facinating.” – Baruch Sadogursky, Developer Advocate of JFrog.”Well-written, entertaining, practical, bold and marginal at times.” – Eduards Sizovs, Co-founder of DevTernity.”It is one of the best books if you have a lot of experience in different projects.” – Anton Chernousov, Founder of “The Art of Programming” podcast.
From the Author
Kindle/Electronic edition won’t be available until the end of 2018. More information about the book: yegor256.com/elegant-objects.html
See all Editorial Reviews
A friend of mine, an experienced developer, picked this book up at a conference. His review was so convincing that I bough it as well. I’m only one third through the book and I love it. It’s great for a person like me, trying to learn Java. Most examples (not all) are in Java and have highly practical nature. Most of the reasoning is logical, step by step explanation on why we do things like this, not like that. Useful reading, well worth time and money.
You need a state of emptiness in order to comprehend this guide, and take the role of a patient with a sick mind. I had to forget my beliefs and implement these recipes in order to see results. Yegor see the origin of our daily suffering, unmaintainable code, then gives us a practical prescription. Thus, if you put these healing potions in your thinking and suffers less, then it is a gift otherwise, it is more confusion. For me, it was a gift.
This is one of the best books on OOP that I’ve read. I find it odd that some have said that this is a good read for a beginning programmer or someone who is new to OOP-thinking. What I found was that this thought-provoking book allowed me to significantly improve my OO programming and turned some of my previous thinking on its head. I particularly liked the chapter on anthropomorphic class names and the application of nouns or verbs to method names depending on whether they have a return value or are void. I also really enjoy the application of his anthropomorphic thinking about classes when it comes to respecting the class enough to ask it only questions that are not invasive, i.e. the questions to not lead to the class being a data bag, or to revealing its privates. Yegor’s viewpoints on the evils of mutability were solid, as well, and served as a reminder, improving my coding practices and ensuring thread-safety of everything I write. Some reviewers may have been offended by Yegor’s passion and his lack of political correctness when using certain language in regards to statics, mutability, and other topics (that I agree are evil). But, I thought he was darn funny when it came to that and it was refreshing to read from someone that doesn’t pull punches when it comes to his viewpoints. If you’re looking for an OOP-apologist, look elsewhere. If you’re looking for an OOP-champion that tells it like it is, read this.