Another Match: Because I can

Ye' old general discussion board. Basically, for everything that isn't covered elsewhere. Come here to shoot the breeze, shoot your mouth off, or whatever suits your fancy.
This forum is not for asking programming related questions.

Moderator: General Moderators

jason
Site Admin
Posts: 1767
Joined: Thu Apr 18, 2002 3:14 pm
Location: Montreal, CA
Contact:

Post by jason »

BC is always an important element in programming, something people forget about so often. I am designing a program right now that needs to maintain BC with our internal stuff, and this is because we have so much code that relies on the 1.0 stuff (which I wrote).

So, the 2.0 version is very difficult because of BC, however, the end product will be much cleaner, and will require less work on the other developers. This also means less mistakes in the end.

The key to BC is in designing the initial system. You have to design it :!: :!: Not just sit down and code. People so often under-value the power of desinging your programs. Even if they work right off the bat, future versions rely on this. When you sit down to develop any code, you should first plan out what is needed, and then start planning for the future. Assume that things will change, features will be changed, and all the while, BC must be kept as stable as possible.

Unfortunately, I don't know of any good way to teach this aspect of software development other than experience. Next time you sit down to hack code, plan the data structure, plan the logic and the way it will all work together.

And that brings up another good point: data structure. Having a properly normalized database is only the first step. You must understand completely how the elements work together, as well as how the elements allow for potential growth. Most often, software is only difficult to understand at the data structure level, as the logic is usually easy to follow. As long as you understand the data structure, and how the data relates and works together, the logic is simple.

This is why people suggest documenting the data structure and commenting very little on the source code.

Just my thoughts on BC. :D
User avatar
hex
Forum Commoner
Posts: 92
Joined: Sat Apr 20, 2002 3:20 am
Location: UK

Post by hex »

volka wrote:I think it has 2 faults
  • it doesn`t assure a 6-12 character long password (ok, depending on the dict-file)
  • $rnd = rand(0, count($dictfile)); may choose "the line after the last line"
I ran out of edit lines :P
Post Reply