Packages, the use of `development` and branching - BBK-PiJ-2014-66/cw4 GitHub Wiki

Packages, the use of development and branching

  • In previous Courseworks I found myself getting lost in the project. If everything is in a single directory one has a mixture of interfaces, implementation and unit tests all with similar names and this can be rather confusing. Using different directories for separate things would be good idea for me.
  • Related to this is the question of whether JUnit tests should be done in a separate package. Keith in cw2 feedback suggests use a separate package(s) for the test(s). There different views on this StackOverFlow: Where should I put my JUnit tests?
  • As the interfaces are in the default package then I think it is impossible to write normal JUnit tests in a different package because there is no way in modern Java to import from default package. (Have spent a long time on the Moodle debating this and it is pointless as the default package simply should not be used for anything other than a "toy".)
  • To get around this decided to do the development work in a directory development using packages.
  • Once development is complete will use git to create a development branch. Then will switch back to master and tidy things up for the official-to-be-marked-submission collapsing everything into the default package and removing the directory development
  • Final thoughts Followed the above strategy but got rid of the separate development directory instead working in src only. Ended up renaming packages so the git history is rather confused!