-
Notifications
You must be signed in to change notification settings - Fork 9
Home
Please make sure that you provide inline comments for everything you code -- as self-explanatory as you might deem it to be. As a rule of thumb you can aim at one line of comment for every two lines of code (even then better be too verbose than too short in your comments). It costs more time during coding initially, but helps others to better understand your code and also aids you in keeping track of your own code design. Missing comments can render good code mostly unalterable and thus unusable save as a black-box, so be verbose :-)
Same as with commenting, verbosity is key in choosing a name for a variable or method! If you feel that long names slow down your coding too much, just use short names and use your IDE's rename function to change them when you're done. FileOutputStream fileOutputStream; may feel a bit long and redundant when typing, but it helps a lot reading and understanding the code --- a few lines down a variable scantily named fos might not be recognized as easily and hamper the read.
The several components are organized in packages:
- base: GUI and CLI applications.
- common: Components providing general functionality to various classes.
- modules: Modules that process data in various ways (mostly for being used by the workbench apps).
Furthermore, the project contains the following folders:
- preprocess: module for preparing the data, see Preprocessing
- keyWordInPhrase: KWIP module
- suffixTree: all classes that are needed to construct a Suffix Tree
- suffixTreeClustering: module that clusters data encoded in the suffix tree, see Clustering
- config: configuration files for the Logger (logger.properties) and info about the text to be processed (textinfo.properties)
- data: contains the texts to be processed
- test: for JUnit test classes