So I am finally approaching an end of my project, code is almost complete (I got few new ideas like shutdown hooks), and documentation written (userguide is done, choices still need revision). However few points are unclear to me and I would be glad if I sort them out.
1. What did you guys write in userguide.txt? Mine ended up being only 7kb, which seems pretty small to me, however I believe the application is indeed small from users' point of view, thus not much info is necessary. I explain overview of application, how to run it (with different modes), how to run server, and how to use client (book and search). Did I miss anything?
2. I made my javadoc to generate documentation for default and private classes/methods/packages. If I only make to to generate public constructs, then a lot of things like classes that compose Facade of my Data class will be missing. Is there anything wrong with this approach?
3. I also documented every single private variable too, for consistency.
4. Can I only reformat DB interface? It really looks ugly to me, having bunch of one-line comments above every function instead of javadoc.
5. I made my error messages pretty technical, since to fix then it is better to have technical info. The only message that I have non-technical is the message that the record is already booked, thus user must refresh the list of records.
6. In description of database file it says to me that all strings of records fields which are less than maximum length of the field are null terminated. However analyzing the file with hex editor, I saw that instead of being null (%00) terminated, they are padded with %20, which is ASCII for space. So what should I pad my fields which are too short with in my create method of Data class? Should it be %20 or %20? Right now I have it declared as a variable, so it is very easy to make a change.
7. My UI is unresponsive during the call. I made it this way since I believe requests will be fast enough for user not to feel it, and user is not supposed to do anything until the requests are done anyway, like they should not search or book when another search or book is done. Is this ok or I better change it? (Ok, the main reason for doing this was because I was lazy
)