BestPractices Technical Practices: Never Return Your Data No Getters That's the normal form of this technical practice. No Getters There's some uncertainity around what "No Getters" means. OK, there's two versions of it. Yegor Bugayenko in Elegant Objects Vol. 1 says, It's all about prefixes That's section 3.5.
microoop µObjects: Fluent Types I expect us all to be aware of the anti-pattern Primitive Obsession. If not - there are some quick resources available. Now that we have an idea of Primitive Obsession; I'll give my reason(s) for not using primitives. The core of Primitive Obsession
TDD µObjects: Where our code meets the user There's a couple types of places where the code we write interacts with the code someone else wrote. This could be another team, a 3rd party library, or the operating system. When we interact with these components, we're tying our code to their code
microoop µObjects: Where code meets Operating System There's a couple types of places where the code we write interacts with the code someone else wrote. This could be another team, a 3rd party library, or the operating system. When we interact with these components, we're tying our code to their code
microoop µObjects: Composition over Inheritance Inheritance is a code smell. Composition over Inheritance This is a known suggestion to improve the maintainability of software. How does this play into microObjects? Everything has a single responsibility. It's doing A thing; as I talk about in µObjects: Principles to code by.
microoop µObjects: When to instantiate In object oriented programming we need to create objects. It's kinda how things get done. Here's a high level question for you - When do we instantiate an object? Pull up a few source files - Where do you see object creation happening? Is
microoop µObjects: Small and Focused Our goal as software developers is to produce code that can be easily maintained. This is frequently a challenge; as writing good code is hard. µObjects is a way of Object Oriented Programming that I've found gives us this. There are a number of
microoop µObjects: Principles to code by How do we improve the quality of code produced by our industry? That's what I want to see happen. It's a young industry which is largely trying to figure out how to produce high quality code. It's fairly effortless to make a computer do
microoop µObjects: Never see the concrete Maintainability by never using concrete implementations. Our goal as software developers is to produce code that can be easily maintained. This is frequently a challenge; as writing good code is hard. µObjects is a way of Object Oriented Programming that I've found gives us
microoop µObjects: Encapsulation Maintainability through limiting change with Encapsulation Our goal as software developers is to produce code that can be easily maintained. This is frequently a challenge; as writing good code is hard. µObjects is a way of Object Oriented Programming that I've found gives us
microoop µObjects: Immutability How To Create Immutability for More Maintainability Our goal as software developers is to produce code that can be easily maintained. This is frequently a challenge; as writing good code is hard. µObjects is a way of Object Oriented Programming that I've found gives
microoop µObjects: No Nulls Maintainability By Refusing null Our goal as software developers is to produce code that can be easily maintained. This is frequently a challenge; as writing good code is hard. µObjects is a way of Object Oriented Programming that I've found gives us this. There
SoftwareAsACraft Yegor's Elegant Objects Posts In Elegant Objects Vol 1 most chapters have an associated blog post. I've read the book and as clear by my review, I'm a big fan. A lot of co-workers and colleagues want to borrow one of my copies. To help give some insight