My desire is to create a simple bowling league secretary program. I want to keep it simple, that is only capable of performing the normal duties of a secretary for an ordinary league. There are many different options for bowling leagues, including “Sport” leagues, which use different rules than a “Regular” league. Since I don’t plan on handling every possible situation, I’m calling it “Simple Bowling Secretary”.
I plan on making the program modular in nature, in addition to open source, so that other programmers may add other features at a later time.
I originally started writing this program in 2004 in my spare time. I was just starting to learn Java at that time, so I used this program as a way to further my learning of the language and create something useful at the same time. I had been programming in Perl, and before that in C, so I had some programming experience. My first modules/classes were crude by my standards today, and I began to realize I was re-writing code, which is a no-no when using an object oriented language like Java. I decided to start over in 2006, having discovered a lot of “similar” code in my classes. I was also learning a lot more about writing an application using Swing, and features such as Internationalization (called I18N to make it easier), Serialization, XML, IO, Generics, Design Patterns, and Reflection, to name the more important ones. While my efforts were a definite improvement over my earlier attempts, I soon ran into serious problems meeting my newly found knowledge of the subjects mentioned above. I realized that I needed to be more specific in defining my criteria and expected behavior prior to writing code.
So, in 2010, I decided to begin anew. This time I will clearly define my expected behavior, and from that, I will define the criteria for my classes. I am not well versed in unit testing, which I should probably be doing, but it seems like a lot of extra code, and work, so I’m avoiding it. I continue to explore unit testing, and hope to begin using it, and retrofitting it where needed.
Contents
Copyright (c) 2010 Hayward Hulick
Permission is granted to copy, distribute and/or modify this document
under the terms of the
GNU Free Documentation License, Version 1.3
or any later version published by the
Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license can be found at
http://www.gnu.org/licenses/licenses.html or here.