Kevin's Simple Principals

- As a code advocate and writing code constantly on daily basis, I am striking to follow 10 simple practices for myself

When code is formatted probably, it will make your life easily: debugging, readability, understanding the logic. More important: this is one of the indicators between junior vs. senior programmer
When modifying an existing file, make sure you always check it out from revision control system. More important: make sure you are working on the latest version as production. You will cry a lot after spending hours coding and found out the code you started is not matching to latest production version
Before you create any new object (e.g. function), always ask yourself: is there any existing object already there so that I can leverage? Don't re-invent the same wheel.
As a developer, we like be innovative; however, when coming to the naming conversion, you should avoid innovation & always follow the group practice naming file/DB object/Program etc.
DRY: DO NOT REPEAT YOURSELF. If you find you are writing very similar code (e.g. a select statement) again and again with minor difference, considering to create a common function (resusable object). This is always a key indicator between junior vs. senior developer.

Try to avoid writing many lines of code for the same procedure. Such code is hard to debug and understand. Try to break it into multiple small logical code units.

Never sacrifice quality for the time and quantity. When you receive pressure to deliver something, don't tell yourself: I don't have enough time so I will lower the quality of my code (e.g. error handling) to reduce the coding time. You can even tell yourself: I will make it better later. In reality, we are all so busy and we will never have chance to go back to fix/improve the code. We are measured by the value we bring into our professional work. It will be shame if my program is just implemented and bug is reported immediately.
In IT world, code is either 1 or 0. Don't makeup the result. Study the business case, ER diagram. If you really can't figure out, ask your peer to help you. It is NOT A SHAME to say, "I don't know. can you help me?". This is much better than endless rework cycles.
Just because something is running correctly, that doesn't make it is running in the most efficient way or there is no room to improve. Technology is always emerging and progressive. When working on some peice of code, try to see if you can improve any exiting code. Force yourself to rethink and refactor. This is a key indicators between leader developer vs. follower developer.
when you introduce a new thing (object, table, code etc), you should put extra effort to make it best. Typically, the footprint of an object is pimrarily established when it is born first time. It is like building a new house, you want to build it correctly/efficiently/effectively ... The benefit is long-term. if something starts with a defect from beginning, it is will take lots of effort to correct. So why not try your best to make it best first-time.
awlays be aware of new technology. Just because you don't use it today, that doesn't make you will not use it tomorrow. Be prepared!!!