Timeline for Proper design for a class with one method that can vary between customers
Current License: CC BY-SA 3.0
10 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| May 23, 2017 at 12:40 | history | edited | CommunityBot | replaced http://stackoverflow.com/ with https://stackoverflow.com/ | |
| Dec 23, 2016 at 16:21 | history | edited | Laiv | CC BY-SA 3.0 | added 42 characters in body |
| Dec 23, 2016 at 10:21 | comment | added | Laiv | Ok. I think I got it. Indeed there's no such think as "self-documented" code. Neither knowledge catched in format of code blocks. If we store the formula in the db we have to document that and if we persist it in property files we still need to do a new release. However, the knowledge is not lost. As per configuration, the knowledge is in the expression (configuration) which is also in the user. In the OP case, there's no repetitive task (knowledge) to crystallize in blocks of code. It demands documentation. As any other solution by configuration. | |
| Dec 23, 2016 at 9:39 | comment | added | Ewan | "If paymentID startWith 'R' then (paymentPercentage / paymentTotal) else paymentOther" where do you store this? what version is it? what language is it written in? what unit tests have you got for it? | |
| Dec 23, 2016 at 9:35 | comment | added | Laiv | @Ewan sorry, I'm afraid of I didn't understood your arguments. The language descriptiors and the classes autogenerated can be part or not of the project. But in any case I don't see why I could lose versioning/source code management. On another hand, might seem that there are 2 different languages, but that's temporary. Once the language is done, you only set strings. Like Cron expressions. At long run there's way less thing to be worried about. | |
| Dec 23, 2016 at 9:21 | comment | added | Ewan | Theres no denying that this is a valid approach, just look at websphere or other off the shelf enterprise systems that 'the end users can customise' But like @akuhn s answer the downside is that now you are programming in 2 languages and lose your versioning/source control/change control | |
| Dec 22, 2016 at 23:54 | history | edited | Laiv | CC BY-SA 3.0 | deleted 104 characters in body |
| Dec 22, 2016 at 23:37 | comment | added | Laiv | The many options you have the better. I just wanted to give one more | |
| Dec 22, 2016 at 23:32 | comment | added | Andrew | It's a good idea but a maintenance headache for the next guy down the line. But I'm not going to discard any idea until I've evaluated and weighed all the variables. | |
| Dec 22, 2016 at 23:02 | history | answered | Laiv | CC BY-SA 3.0 |