roland chooses quickbasic

 BBS: The MOONFLOWER
Date: 04-12-93 (17:07)             Number: 89
From: ANDREAS #1 @6045*1           Refer#: NONE
  To: MATT SCOTT #2 @6047*1         Recvd: YES 
Subj: roland chooses quickbasic      Conf: (125) The Progra

Re: roland chooses quickbasic... A lot of comments concerning what is the best language to use/learn, and VBBS is being held up as a good example of what you can do with QBASIC. Well, I've looked at the VBBS source, and I really have to say that while it does what it is supposed to, the actual source code for VBBS is fairly poor. Examples: No comments anywhere. I have no idea what most of the code is doing, unless I was to trace through it line by line. Maybe if I spent a few weeks working with it I might get a feel for it, but this should not be the case. If I need to change a specific portion of the code, I would have no idea where to start. At the very least, the function headers should be commented to describe what the function is supposed to do, what are its parameters (and if they get modified), what are its outputs, and any side effect issues. Global Variables. Roland makes a lot of use of these. This isn't strictly bad, but if there is no documentation stating what all uses these globals (see above), it is very easy to make a change in one part of the code, and break it in another without even being aware of it. Variable Names. Roland seems to like using short cryptic variable names that tell you nothing for what they are used for. They should be a useful mnemonic (not too long either) makes their purpose readily discernable. Also, he will use the same variable name for an int, a string, a long, etc. While this will work in qbasic, it is not good practise to follow. Each variable should have a unique name to avoid any confusion with other variables. One good naming convention is Hungarian convention, which uses specific prefixes for variables so that a glance a person can tell exactly what type of variable he is viewing. Data Dictionary. These aren't as commonly seen, but are crucial in any data intensive program. This would describe the structure of each data file, and also to some extent outline how the data changes (ie what conditions/functions will affect a data structure). This ties in with my initial point above. My own position is directly inolved with software maintenance of several large products, and having this type of information is critical for making a quick, and bug-free fix. Note that the problems that I describe above could occur in any language (ie anyone can get sloppy with their coding style). Andreas Object Oriented Discussions /-------------------/^\ Andreas Langley, BC And Class Library Repository ( The Container BBS ( ) Mertens Node #6045 (604) 530-7001, 14,400 Baud \___________________\_/ *SysOp* VBBS 6.00
Outer Court
Echo Basic Postings

Books at Amazon:

Back to BASIC: The History, Corruption, and Future of the Language

Hackers: Heroes of the Computer Revolution (including Tiny BASIC)

Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution

The Advent of the Algorithm: The Idea that Rules the World

Moths in the Machine: The Power and Perils of Programming

Mastering Visual Basic .NET