Profile cover photo
Profile photo
Jay Bazuzi
68 followers
68 followers
About
Posts

Post has attachment
Add a comment...

Post has attachment
Port And Transport And Port
Port And Transport And Port I use Ports-and-Adapters to abstract away my application’s interactions with external systems. I bend the dependency’s interface to the shape that I want for my domain. This makes it easier to think about my code and to unit test...
Add a comment...

Post has attachment
New Blog
I'm experimenting with a new blog. I hope it will be easier to right better technical posts if I can use Markdown. Check it out: http://jay.bazuzi.com/
Add a comment...

Post has attachment
Fast tests for integration points
Ports-and-Adapters is a good design approach for separating business logic from external dependencies, aka Mine vs. Thine. Like all good designs, Ports-and-Adapters makes things more testable. Everything is tested in a tight edit/build/test cycle except for...
Add a comment...

Post has attachment
Refactor a lot, but only when it's appropriate
Don't just refactor for fun. Refactor in service of delivering business value. If there's some terrible code that you never need to touch, then there's no reason to change it. Leave it terrible. So, when are the right times to refactor? When you're changing...
Add a comment...

Post has attachment
1 Agile is not nothing*
Sometimes when people learn about the  Agile Fluency Model  they think of the first zone as "not very good". We should of course be aiming for one of the higher zones, right? Maybe. You have to figure out which is the best zone for your context.  Focus on V...
Add a comment...

Post has attachment
**
Sometimes when people learn about the Agile Fluency Model they think of the first zone as "not very good". We should of course be aiming for one of the higher zones, right? Maybe. You have to figure out which is the best zone for your context. Focus on Valu...
Add a comment...

Post has attachment
You really should get rid of those strings.
If you're looking for something to improve in your code, the #1 thing is not in this blog post. It's Naming is a Process . The #2 might be eliminating the Primitive Obsession of string parameters to functions. The short recipe is: 1. Pick a string parameter...
Add a comment...

Post has attachment
Prevent infinitely many bugs with this one simple trick
Here's a way to quickly find a bug in any legacy code: Step 1: Find a case-insensitive string comparison. boost::remove_erase_if(attributeNameAndValuePairs, [](const auto& nameAndValue) {     return boost::iequals( nameAndValue.name, "foo");   // <-- here }...
Add a comment...

Post has attachment
Releases per bug
Traditional teams count "# of active bugs" and "# of bugs fixed per week" and the like. These drive the wrong behaviors , rewarding create/find/fix over eliminating the underlying causes of bugs. As the bug injection rate approaches zero, you can shift how ...
Add a comment...
Wait while more posts are being loaded