Friday, March 23, 2007

Coding Principles

Almost every wise saying
has an opposite one,
no less wise,
to balance it.

It's an intresting saying by George Santayana. If we think about it for a while We can easily see that it is true in every single one of sayings .. interesting indeed ..

In this post of mine I'm going to try to explain you some the coding principles for you to maintain your level of coding time after time .. Here we go now ..

Facing problems (and solving them) is a way of life for programmers. When
a problem arises, you want to solve it quickly. If a similar problem
occurs again, you want to remember what you did the first time and
fix it more quickly the next time. Unfortunately, sometimes you’ll see a
problem that looks the same as something you’ve seen before but can’t
remember the fix. This happens to us all the time.

Can’t you just search the Web for an answer? After all, the Internet
has grown to be this incredible resource, and you might as well put
that to good use. Certainly searching the Web for an answer is better
than wasting time in isolated efforts. However, it can be very timeconsuming.
Sometimes you find the answers you’re looking for; other
times, you end up reading a lot of opinions and ideas instead of real
solutions. It might be comforting to see how many other developers
have had the same problem, but what you need is a solution.

To be more productive than that, maintain
a log of problems faced and solutions found.
When a problem appears, instead of saying,
“Man, I’ve seen this before, but I have no clue how I fixed it,” you can
quickly look up the solution you’ve used in the past. Engineers have
done this for years: they call them daylogs.
You can choose any format that suits your needs. Here are some items
that you might want to include in your entries:
• Date of the problem
• Short description of the problem or issue
• Detailed description of the solution
• References to articles, and URLs, that have more details or related
information
• Any code segments, settings, and snapshots of dialogs that may
be part of the solution or help you further understand the details

No comments: