1. Version Control System (VCS) readyVersion Control System is a very important things for every APP developers, it helps to keep track of the development history and changes; It is not a MUST, but you may be regret if not adopt any VCS;
The two famous VCS are GIT and SVN; And the two famous public repositories are GitHub and BitBucket;
- GIT: http://git-scm.com/
- SVN: http://subversion.tigris.org/
2. KM and PM Tools ReadyKM and PM are Knowledge Management and Project Management respectively; The tools for these two are important because, During the APP development, you need know the Road Map, which are what is the stuff to going to do, and when should be done right now.
I am using MediaWiki for KM and Redmine for PM
3. Code styleCode Style is a important thing for program; A consistent style can help coders code efficiently because they can understand other codes quickly (no need to ask or check docs).
4. Naming ConventionNaming Convention (or called Naming Rules) are the rules how coders names the variable, class, package, ….; It is important because we are all humans not machines; If the "java.util.Random" class named as "java.xx.AA", you are hardly guess the behaviours of the class. It is also an important section inside the Code Style;
The followings are the parts should be defined:
- Namespace (named as Package in java)
- Class Prefix, Suffix
(for example: GL Prefix mean Graphics Library module, View suffix mean this is a view class)
- Variable Prefix, Suffix
(for example: str Prefix mean it is a string)
5. Program structure and folder structureFolder structure is that clarifying how different kinds of files should be placed; To make a good program, we need to organise the source and project files properly; The more chaotic it is, the harder
to manage the program project.
This is an example of program structure
- log.txt - development logs
- docs/ - documents related to the project
- src/ - source code folder
- res/ - resource folder
- res/gui/ - resource related to GUI
- res/sound/ - sound resource