Software Reuse

Authors

Publication

Pub Details

Date

Pages

See all articles from QL Hacker's Journal 25

For years I’ve reading articles on Software Reuse and how it can increase the productivity of programming shops. Since I program alone, as most QLers programmers do, I have never given it much thought for my programming. For some reason, a recent article on software reuse sparked a new thought about software reuse and the QL.

Before I go into my sparked thought, I want repeat here one sideline from the article. The Eight Commandments of Reuse:

  1. Golden rule of reuse: encourage individuals and teams to behave in ways that support reuse.
  2. Keep an inventory of reusable artifacts.
  3. Provide a catalog with descriptors and search support.
  4. Designate a reuse administrator/facilitator who keeps the catalog and helps users.
  5. Develop a methodology outlining how and when to reuse software components.
  6. Have a measurement program to track reuse and adherence to the methodology.
  7. Design standards that specify how artifacts are constructed.
  8. Adhere to a quality-assurance program to guarantee the integrity of artifacts.

Now that you have read the above, set it aside for the moment (for you Assembly programmers, PUSH it. You will need to POP it later).

I think one of the most difficult areas of writing programs for the QL is dealing with the Pointer Environment. You either buy a PE toolkit (such as EasyPointer) and a SuperBasic Compiler (QLiberator) for a fair amount of dollars, or, you can program in C with C68 and the Pointer libraries. Being cheap, I would opt out for C68, but I am very weak with full C (OK, I write a few hacks in C, but I am no where near calling myself a C programmer). Using C68 and the Pointer Environment is not trivial. It’s not something for the fledgling C programmer.

For those that do program in C and the Pointer Environment, each programmer is writing a lot of the same display routines to get output to the screen. For some this is not easy and takes up some significant time and effort.

OK, now POP what you had PUSHed earlier; software reuse. What if a number of C68 programmers were to get together (just like they do in the development of C68) and started collecting a library of C68 PE routines that could be used by other programmers? Kind of sounds like software reuse.

If QLers where to use the 8 Commandments of Reuse, we would only need to use commandments 2, 3, 4, 5, and 7. We would not need to track who uses reuse or who does not. If someone was to volunteer to be the administrator (they would need to be a C68 programmer), other C68 programmers could send in thier functions and procedures to be added to a library. This could be documented and then distributed back out to C68 programmers.

Submitting functions and procedures may require some code changes on the part of the submitting programmers. The functions and procedures would have to be written in a more portable “black box”. No use of global variables.

I don’t know if the time and effort put into this would save any programmer time in the long run. The time saver for the programmer would be the time saving in having to re-write code that has been written before. Would this time savings be enough to warrant the cost of organizing the library? Again, I don’t know. I just thought it might be worth considering. Any takers?

Products

 

Downloadable Media

 

Image Gallery

Scroll to Top