5 ms·
> If it was database driven, he could use a gui tool such as phpmyadmin to edit the magazine regulation rules. This is great, but it's also worthwhile keeping
by jwilliams 18y ago
> If it was database driven, he could use a gui tool such as phpmyadmin to edit the magazine regulation rules.
This is great, but it's also worthwhile keeping in mind testability.
Now, your code is more robust, so that helps counter this a little - but by increasing the number of data points/variables you introduce more boundary cases. You don't want the magazine owner modifying something basic with an unexpected consequence.
I've worked recently on a lot of projects that use Business Rules Engines - similar concept - externalise your logic into tables of data/rules. End users can modify these rules to change the way the system operates.
The lesson I learned is that the causal downstream user isn't as cognizant of change control than someone who's been in the development cycle. This led to a lot of unexpected conflicts - for example, a certain threshold was lowered considerably as part of a campaign. This made 90% of submissions eligible for automatic (Straight-Through) processing as opposed to 10% before... Unfortunately the downstream systems weren't prepared for a 9x increase in the amount of load. So it fell on it's face.
Not to say this isn't a good idea - but something to keep in mind.
- DougBTX 18y agoReminds me of the "The Customer-Friendly System", where all of the "data" was taken out of the program and out into a Visio diagram. http://thedailywtf.com/Articles/The_Customer-Friendly_System.aspx http://thedailywtf.com/Articles/The_Customer-Friendly_System... The thing is, "data" and "code" are the same thing, it's just a matter of presentation. Sometimes data is easier to read if it is in if blocks, sometimes in tables, but very rarely in Visio diagrams...