Saturday, May 24, 2008

Java Experience

Over the course of the last several weeks, i have learned java, and after being part of a team larger than myself, i have come to a sudden realization. I have been doing things wrong, and i must apologize.

So in the upcoming version, which may be a few months yet, i'm making several large changes and will worry about improving code to a large degree another time.

1) Eclipse CDT IDE. Before i've entirely build the cipher in a basic text editor, and that brings many annoyances when you're needing to look up functions, parameter orders, names, and descriptions. It's been a wonderful tool so far, and makes refactoring and building code easier. I'll be putting in more descriptive and appropriate names to all variables.

2) Doxygen for inline documentation. My cipher is under-documented, and after reading several good articles, references and suggestions, i'm going to go completely through and re-do all of my comments from over brief to in-depth when appropriate. As well as have doxygen generate my docs later.

3) I've tried before to over optimize my code, and i realize after looking at a couple of the functions, they are kind of a mess. This isn't what i was going for. I'm going to rebuild them for readability and simplicity, rather than speed. I figure, computers are getting faster, and compilers are getting smarter, i will instead break it into something everyone can read and maintain, and leave the cycle saving for the compiler.

4) Unit testing. I'm met a wonderful thing called JUnits, which once understood enough, they make sense. I'm systematically making a test for each file i'm updating with commenting, with a unit test, which when all combined will help in the long run. And let my earlier test.c be.

Estimated next release, August sometime.

Era Scarecrow