Oh how familiar. So many customers ask if we can send them "our standard file format" for importing data into our application. We send them our schema and documentation.
Then it starts...
"Well you see we send you X in this field, could you convert that to Y when reading the file? That'd be great"...
"Oh could you make it so that if we send the file again with the same reference number, you overwrite the field A, B and C with the data from the new file, but don't change any other fields? We really need this."
So so true, keep it simple; write your classes for 1 purpose, keep your functions and procedures doing 1 task only and life will become easier .... your code will be spread out more ... but honestly do you care .... ?
Ah complexity... A double edged sword that one. I have probably seen as many projects or bits of code fail because they were trying to do to many things as those trying too hard to do just one thing... In both cases you can end up with over engineering just... as easily.
Most complexity in software I have seen is caused by developers trying to be too smart, instead of thinking that "the person who ends up maintaining your code is a violent psychopath who knows where you live". https://blog.codinghorror.com/coding-for-violent-psychopaths/
procedure DoOneThing(boolean);
ReplyDeleteStefan Glienke LOL --
ReplyDeleteOh how familiar. So many customers ask if we can send them "our standard file format" for importing data into our application. We send them our schema and documentation.
ReplyDeleteThen it starts...
"Well you see we send you X in this field, could you convert that to Y when reading the file? That'd be great"...
"Oh could you make it so that if we send the file again with the same reference number, you overwrite the field A, B and C with the data from the new file, but don't change any other fields? We really need this."
Etc etc
"It would be nice if the user can configure what 'doing one thing' is" =)
ReplyDeleteStefan Glienke ...to make 2, 3, maybe four other things... =D
ReplyDeleteHeinz Toskano If doing one thing is to delegate to 2, 3 or 4 other things then everything is fine =)
ReplyDeleteSee https://en.wikipedia.org/wiki/Composite_pattern
Stefan Glienke sure, but we know that customers are not that ordered and that they ask us to do many unrelated things in one shot
ReplyDeleteSo so true, keep it simple; write your classes for 1 purpose, keep your functions and procedures doing 1 task only and life will become easier .... your code will be spread out more ... but honestly do you care .... ?
ReplyDeleteAh complexity... A double edged sword that one. I have probably seen as many projects or bits of code fail because they were trying to do to many things as those trying too hard to do just one thing... In both cases you can end up with over engineering just... as easily.
ReplyDeleteMost complexity in software I have seen is caused by developers trying to be too smart, instead of thinking that "the person who ends up maintaining your code is a violent psychopath who knows where you live".
ReplyDeletehttps://blog.codinghorror.com/coding-for-violent-psychopaths/
It might be the other way around, complexity arise trying to make one thing out of so many things. :-D
ReplyDelete