Wednesday, 30 March 2011
Design for the Lowest Common Denominator
Everything is a balancing act between perfection and pragmatism.
What I do not believe is that you are supposed to drop standards to the point where you correct the mistakes of users. Yes, suggest improvements or give warnings or give options to clean up but do not just assume and make the change.
I'm using an ORM called llblgen. It is the standard where I work. I'm not a massive fan but I'm currently more for consistency than purity so it will do for now.
One thing that llblgen insists on doing is assuming a table name ending in with an 's' is a plural. It then removes the trailing 's' when generating the equivalent data model class.
For example, my 'SomethingStatus' table will be represented by an equivalent model named 'SomethingStatu'. The developer has responded to my tweets of disdain and said that from his point of view, he can't assume that people will model their databases in a way that obeys conventions for not using plurals.
This bothers me because it makes me question the point at which we will go to cater for developers or users that may be doing something "wrong". Microsoft development environments and technology stack restrictions often have this in mind. Stop bad developers being sloppy by locking down the environment and denying options because bad choices cause bad code.
I disagree. I think bad developers write bad code. You shouldn't have to correct them. You don't need to baby your users. If you are going to cater for anyone then cater for the average user.
If the assumption is that the average user has a low statu then I'm simply saddened.
Apple started a user experience trend many iOSes ago when it accepted Settings changes and did not ask for confirmation. Once the chang...
Five years ago, everybody seemed to want to have the word "architect" in their title. Firstly, they all needed a title and having...
After posting a quick how-to about Ruby-LDAP , I received a couple of very helpful comments that pointed me towards ruby-net-ldap . This is ...
It seems that the tools I take for granted are not used by all. This is the first in a series of posts where I will be sharing some of ...