I think volume is almost deceptive. It seems like we’re doing useful compression, but if we’re not careful we introduce complexity and indirection that is not based on actual needs. So we essentially code ourselves into a corner.
There are circumstances when your version is actually better: when pizza_base has a real meaning in your domain, outside of the code representing it. The chefs, accountants and so on use the term day to day, and might even have specific pricing or techniques around it. Then pizza_base is an actual thing that you want to represent in some way.
However it could also just be a function, which derives from pizza_base from your raw data. Like is_pizza_base(). I would prefer that in general.
There is nothing wrong with dumb, raw, data. It gives you leverage and frees you from coupling.
There are circumstances when your version is actually better: when pizza_base has a real meaning in your domain, outside of the code representing it. The chefs, accountants and so on use the term day to day, and might even have specific pricing or techniques around it. Then pizza_base is an actual thing that you want to represent in some way.
However it could also just be a function, which derives from pizza_base from your raw data. Like is_pizza_base(). I would prefer that in general.
There is nothing wrong with dumb, raw, data. It gives you leverage and frees you from coupling.