My own 10 development rules
Everyone has their own rules for doing work, and there are plenty of posts about 10-20-more rules what a webdeveloper should follow.
I’ll not create new dogma for anyone, and I’ll not say that my rules are mandatory for being a good developer. I’ll only say, that they have helped me, and will help me in the future as well, to work more easy. Development here is not strictly web-based, and some of the rules can come handy in other areas too.
They don’t have any significant order, and they are connected to so various fields, that there might no good reason to order them.
So without any preference or order, here are my 10 rules of development:
Designing with standards
This came as first into my mind, because it does only costs a little effort, but it helps to create maintainable and customizable websites. On top of that a standard-compliant design is less likely to “break” later, as a solution tied strongly to today’s nuances. More detailed – and recommended – reading is Designing With Web Standards by Jeffrey Zeldman and Ethan Marcotte.
Less is sometimes more
The saying is a good rule in development too. The less code we use to create the needed solution, the less effort will it need for maintaining it, and with websites the less bandwith – or less amount of time – will it use to load.
As my math theacher used to say: code the amount, and only the amount, what is required for the solution.
Generous documentation (where needed)
In my opinion the best documentation for any code is the code itself. If it is created appropriately and indented properly, it will tell it’s tale, and does not need documentation. Detailed reading Clean Code by Robert C. Martin.
User manuals are another question. Here we must be generous with descriptions, even with pictures. Users cannot read the code to get an idea what to do, or how to do it. Even interfaces cannot be designed every time to be intuitive. In this occasions we have to write detailed instructions, even let someone to read it before handing over. I could know what I have written and why, but my thoughs cannot be that clear for a non-developer.
Use only 3rd party code, what you can write
Interesting part, why should I use someone else’s code, when I can write them myself?
Simple explanation: I only use 3rd party code, for which I have the knowledge to write myself, but not the time for development or bughunting. In this case I know the theory for the code, and will be able to modify it, should the need arise. But I gain huge advantage for it is done already.
Use free software, or pay for them
Almost any task I can fulfill with free software, but there are some features in the payed versions which make my work more convenient, and they deserve the payment well.
Anyone having second thoughts should consider the following question: If they not consider to pay for a fellow developer’s work, how can they count on receiving their own payment?
Noone is born with the ability to write error-free code. Even what fulfills the whole specification without any bugs. For that we have to test our code form the beginning until the end of the development cycle. The complex our code, the greater the possibility that one of our modification influences other parts functionality.
For that reason not only the modified parts have to be tested, but previous tests have to be run as well, to be sure that we don’t break any code thought to be finished.
Consistent code design
It is worth getting used to a coding style, and then to stay with it. The exception is when joined to a developers group. In this case, the group’s style is in the winning position.
Previous codes can be re-read much faster, at least when style is the same as the currently used. If any third-party code is incorporated into the project, the development environments (Eclipse, Netbeans, …) can help you to format to your taste.
A website has to be created for users, not searchbots
First, the usability and user experience has to be kept in mind during development, because, although a website is the first place in the search engines it is no use when users flee when they see it …
Search engine frienly solution can only be a supplement.
Only know, what you really know
Do not fall into the trap of saying that you know something that you do not know. It will soon follow that the time devoted to development does not meet your expectations, and the deadline cannot be kept too.
It shows much greater qualities if one admits not knowing something, than saying to know everything and to continuosly fail in delivery.
… and last, but not least:
Do not part with your principles
While talking about a project with clients, you must respect their ideas, but you can correct them, or lead them to a better solution. However, in order that their are the clients, we have to do the development, and we may have more experience in this field.
There is one rule for all my years spent in development, and the more time goes by, the more certain I am that my decision was right when these rules were taken on by myself.
I can not urge anyone to take on my ideas, I can only trust that intensity is contagious, as I got it from others.