Common large software project development file directory structure

Source: Internet
Author: User

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.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.