6 ms·
Complete with spelling errors, semicolons in place of commas, shouting snake case, and unnecessary explicit numbering. Definitely enterprise-grade.
by slumdev 5y ago
Complete with spelling errors, semicolons in place of commas, shouting snake case, and unnecessary explicit numbering. Definitely enterprise-grade.
- cyral 5y agoNot complete until it has a poorly documented API with some name like PriceKit, maybe hidden behind an entitlement as well.
- jrockway 5y agoThe explicit numbering is so that you can reorder them to be more "readable" later. I didn't have the heart to do that here, but in the real world, anything goes!
- happytoexplain 5y agoWhen somebody comes along and inserts a new case next to an existing case because they're closely related, you'll be glad the numbers are explicit.
- slumdev 5y agoNegative - if these are going to be treated like keys where the integer value needs to retain the same meaning between builds, then an enum is the wrong abstraction to use.
- inopinatus 5y agoThe real enterprise case is when additions are made for things that aren’t even pricing
- winrid 5y agoBLUE_BANANA_CONCESSION = 9001
- TeMPOraL 5y agoThere's also less enterprisy and more "1990s engineering" variant of this: enum PricePoint { //all the 500+ price points defined above... REGULAR_PRICE = 1023; PROMO1_PRICE = 1047552; PROMO2_PRICE = 1072693248; AUTOHINT_ROUND_99 = 1073741824; AUTOHINT_BUYING_POWER = 2147483648; } Little bit twiddling, and you can encode 3 prices + some flags in an uint32.