This is one reason why designing a piece of code, and working as a team is so important during projects. To put a long story short, I am following an algoritm class, and basically we had to update a small program to use a recursive algoritm to store dates, and retrieve them in a fast and efficient way.
The problem however was this:
The code we got was quite complex (it was build from Rational Java, and basically had tons of excessive blobs of code)
The group I am with refused to do any form of teamwork, we had 10 WEEKS to finish this, and basically my group flat out refused to do anything of the sorts. Not until the last week did my group want to come together, and a friend of mine who is quite a good coder decided to ignore my requests to get together to finish this application only to want to do it himself 2 days before it had to be handed in.
On sunday morning I got the code, and reviewed it and spend the entire afternoon "faking" Design documents because he skipped that part. And another guy in our team made a quick test report, needless to say it was a sloppy and unfriendly job. I had been begging for them to do this the way its described everywhere - Make UML diagrams, Program Code - Test not program the damn code on the fly and then expect it to magically work.
The teachers looked at our program and here in under 5 minutes this happened:
- The Program's failsafe did not exist, people could make appointments, eventhough there was no time left on a day (how can a tester overlook something this stupid?)
- The Java code was a mess it was nearly unreadable
- The appointments instead of having time had the following:
530 670 That does not make sense as time?
I have asked my friend time and time again to work with me on this together, yet here we are 2 people who can program unable to do as something as stupid as that. He claimed I cannot do recursive algoritms well sadly I am able to do it. I have made a program that is able to find a path in a array to the end line if a few conditions are met:
- the numers in each array have to be 3 long (if there is 1 or 2 numers in a place it adds an 0)
- It can only hop to another adjacent part in the array if there are only 2 numbers identical not less or more then its not allowed to pass through it. It took me a weekend to do it, yet even with this code in front of me he still didn't trust me enough and now I am stuck doing the entire project alone cause both do not have time anymore.
Designing is a very important aspect of game programming, without a clear solution on HOW you are programming something, your just throwing a bowling ball down the alley and hope for a strike. Sadly the entire design process was ignored and it led to quite a stumbeling. I admit i hate designing, and I dislike UML but i do grab a pen and paper write down what i think i need to do and then try to translate that into code. Its easy to bring into UML terms... Oh well lesson learned, hope my group will get together for this last friday to get it done!
For the people interested here is the link to my program + source
the IA-005 .TXT is the array it loads into the program :)