Common large software project development file directory structure
1. Java Projects
The. class file after the debug phase is compiled into the classes directory. Place the classes directory and other tools in lib. jar into the classpath. Running the current directory is the project root directory.
The. Class in the official release is placed in one or more. jar files, usually in the root directory, and added to the classpath.
Because in Java projects, often compiled with a variety of compilers, it is more common that development is compiled using development tools, packaged with Javac compilation, and project files are placed in a secondary location.
2. Visual Basic Project
The compiled COM DLLs and Exe for the Visual Basic project are typically placed under the project root directory. Because it is easy to make a COM DLL in Visual Basic, a large number of child projects are used to compile COM DLLs, which are loaded after the main Exe is started.
There is a problem with the above directory settings: When debugging, the current directory is under the subproject directory, such as Module1_submodule2, and the current directory of the release version is under the project root, so it needs to be judged at the time the program starts.
3. Visual C + + projects
During the debugging phase, all dll,lib files are placed under the build and Lib directories. For subprojects, you put the DLL and EXE directly under the build directory.
As with Visual Basic projects, there is a problem with the current directory inconsistency of the debug phase and the official version. However, the VC's project properties can be set working directory, so this problem is also easy to solve.
A problem with large projects is that the entire project compiles for a long time and may reach more than half an hour. It's normal for everyone to take the latest code from the repository every morning. But there is no need for everyone to spend more than half an hour each morning. It is common practice to run a scheduled compile batch on a single server, usually in the middle of the night, where the compiled files are placed in a shared directory. This way the programmer only needs to take the latest source code from the version library and then copy the compiled files, such as. class,. Obj,.dll,.exe, after work every day.
There is another place to note that the time of different computers should be synchronized. Cannot server time is May 1, My Computer time is June 1. The compiler can do incremental compilation and save time. Incrementally compiles the time to compare the source code and the compiled file time. Because the compiled files are replicated from the server, different computer times cannot vary too much.
Automatically compiled files such as. class,. Obj,.dll,.exe generally do not put into the version library, but only share. Because if you put it in the repository, the file properties downloaded from the client are read-only and have a lot of inconvenience.
Of course, if just a small project, all the files in a directory is not much of a relationship, more convenient.