On Sun, Jan 26, 2014 at 1:45 PM, Mark Lawrence <breamore...@yahoo.co.uk> wrote: > If I worked as a consultant I'd much prefer the XML version as I'd be able > to charge much more on the grounds that I'd done much more, hoping that the > people paying didn't bother with design reviews or the like :)
And that's very true. If someone wants something infinitely customizeable, the best solution might be an empty file with a shebang at the top - but that's hardly something you can charge oodles for. This is where soft-coding comes from. http://thedailywtf.com/Articles/Soft_Coding.aspx The business logic examples given there are best served by hard code. Suppose you need to calculate this-value plus that-value times other-value; is there any difference between writing that in Python (ugh, that's hard code!) and putting the formula in a config file, where it'll get parsed and evaluated (oh, that's a config file, that's fine)? As you'll see in my other post, there's a formula evaluator routine there; it takes a string of code and compiles it: (wealth_plat*1000+wealth_gold*100+wealth_silver*10+wealth_copper)/100 It's straight code, and it's embedded. If ever the rules change, I can edit the code. For instance, here's the D&D Fourth Edition version of that: (wealth_plat*10000+wealth_gold*100+wealth_silver*10+wealth_copper)/100 Should the value of a platinum coin be moved out into a config file? Maybe. MAYBE. Should the value of a silver piece be? Definitely not! There's no use-case for silver pieces being worth anything other than ten copper. If and when there is one, the code can simply be edited. There is no value in soft-coding this formula. Code isn't something to be afraid of. It's just text files like any other. After all, Python code is a config file for /usr/bin/python, so if you want to change what Python does, just edit its config file! ChrisA -- https://mail.python.org/mailman/listinfo/python-list