"Helix Smell" is the term I use for a sign that there might be a problem within a Sitecore Helix implementation. Each Helix smell has a name and definition. I hope this will provide Sitecore developers with a common vocabulary for discussing issues in their Helix solutions.
I took inspiration from the concept of "Code Smells", introduced by Kent Beck in the book "Refactoring - Improving the Design of Existing Code". A code smell is described in the book as “a surface indication that usually corresponds to a deeper problem in the system”,
As with code smells, a Helix smell should:
I differentiate between Helix smells and anti-patterns. A smell always needs to be examined in context. While it's likely to be a cause for concern, it can also be a pragmatic response to a problem, where the developer weighed up the pros and cons.
Here are the Helix smells I've documented so far:
When I began thinking about naming/codifying Helix Smells, I presented my ideas at the 2019 Sitecore Virtual Developer Day. My thoughts on the subject have developed a little since then, but here's a recording of that original presentation:
This is an ongoing project, so the list of documented Helix smells will grow over time.
I took inspiration from the concept of "Code Smells", introduced by Kent Beck in the book "Refactoring - Improving the Design of Existing Code". A code smell is described in the book as “a surface indication that usually corresponds to a deeper problem in the system”,
As with code smells, a Helix smell should:
- Be easy to spot (be "sniffable").
- Require further investigation before determining if it's problem
I differentiate between Helix smells and anti-patterns. A smell always needs to be examined in context. While it's likely to be a cause for concern, it can also be a pragmatic response to a problem, where the developer weighed up the pros and cons.
When I began thinking about naming/codifying Helix Smells, I presented my ideas at the 2019 Sitecore Virtual Developer Day. My thoughts on the subject have developed a little since then, but here's a recording of that original presentation:
This is an ongoing project, so the list of documented Helix smells will grow over time.
Comments
Post a Comment