I guess I'll get this new board kicked off.
Now, I'm not going to say I'm the greatest and wisest coder in the world but I have learned the hard way to think of a few things at every step. I will describe each item in detail following the list:
- 1 - I'm coding an application not a web page / site
- 2 - I will be coding similar applications in the future
- 3 - I will need to revise code in the future
- 4 - I will need to add features to the code in the future
- 5 - I will be hiring additional staff to take over the project
Item 1This assumption allows me to make certain that I remember to keep the data free and clean of any user interface components (input/output) so that it can be interfaced using standard methods (see item 2) by other applications.
Item 2This assumption involves creating a well-defined method of interfacing with the objects of the application and searching for areas of code which may be generalized enough to be added to a utility library. After establishing a common application framework, you now have a procedure to follow when creating the next application.
Item 3This assumption assists me in remembering to document
everything. Since I'm going to have to maintain this point at some point in time, I'd better write down my thoughts so I'll know not only 'what' a piece of code is doing but the reason the code is performed in such a manner.
Item 4This rule asserts that I should design in an object-oriented manner and each object should require knowledge of the implementation of as few objects as possible. This means the design will be flexible enough to add components without going through the agony of having to separate application logic from unrelated classesl.
Item 5This rule is somewhat redundant with item 3, but is made simply so that I write comments so that they may be read by other programmers that may be hired to maintain the application.
While none of this should be earth shattering news to many experienced developers, might as well start with the basics.
