当前位置:网站首页>[beauty of software engineering - column notes] 30 | make good use of source code management tools to make your collaboration more efficient
[beauty of software engineering - column notes] 30 | make good use of source code management tools to make your collaboration more efficient
2022-07-29 08:02:00 【if...else...】
List of articles
Column information
Columnist : The treasure jade
Column publishing platform : Geek time
primary coverage
Source code management tools are standard in software projects , Almost every software project will be applied to , It can be said to be the most basic project development tool .
One 、 A brief history of source code management tools
Source code management tools are also called Version control system , It's a mechanism to save multiple versions of a file . Every time someone submits a modification , This modification history will be recorded by the version control system .

Source code management tools have existed since their birth 40 Years of history , Experienced Four stages .
The era without source code management tools
We were not so lucky to develop software in the early years , stay 1972 Years ago, there was no tool that could help us do source code management .
Local version management
The earliest version control system is SCCS(Source Code Control System), Born in 1972 year , It realizes the retention of multiple versions of a single file , This means that you can see the modification history of each file .
Then there was RCS (Revision Control System)
Centralized version management
1986 Came out in CVS(Concurrent Versions System) It is the first to use a centralized server to manage the version Library .
Later SVN(Subversion) On the other hand CVS A lot of optimization .
Distributed version management
A typical representative of distributed version management tools is Git, Copies of the entire code base of the distributed version control system can be stored on the user's local system .
Two 、 How to choose the right source code management system
Now there are many choices for source code management system , You can choose a code management service hosted online , Or build it yourself .
Build your own source code management system
Git、GitLab、Gerrit etc.
Online code hosting platform
GitHub、GitLab、Coding etc.
3、 ... and 、 How to make good use of source code management tools ?
Make good use of source code management tools , There are three simple and feasible principles :
- Principle one : Submit frequently
- Principle two : Run automated tests after each submission
- Principle three : The submitted code should be reviewed
How to do a good job of code review ?
My experience is that , When reviewing other people's code , First understand what problem the submitted code is going to solve , Imagine how you would write this code yourself .
Four 、 What kind of development process should I choose ?
Now there are three main development processes based on source code management :
- Git flow
- GitHub flow
- GitLab flow
Let's take a specific look based on GitHub flow How it was developed .
- First step : Create a branch
- The second step : Submit update
- The third step : Create a Pull Request
- Step four : Discussion and code review
- Five steps : The deployment of test
- Step six : Merge
No matter what kind of development process you are based on , It's best to do these two things :
- There is a stable branch of code ;
- Before merging branches , Review the code , Automated tests should be able to pass .
5、 ... and 、 Other excerpts
- Submit frequently , It does not mean that incomplete content is submitted , Instead, split the content to be submitted , And ensure integrity .
- The advantage of self construction is that you can have more control , But you need to have your own server , Build your own environment , And subsequent maintenance .
- My suggestion is if the project is small , Privacy requirements are not high , There is no need to build it by yourself , You can directly choose the online hosting platform .
- If you want more control over source code management , It can also accept the investment in operation and maintenance , You can choose to build it yourself .
summary
Source code management tools are also called Version control system , It's a mechanism to save multiple versions of a file , Historical versions of files can be recorded .
Make good use of source code management tools , Design the development process , Ensure good code quality , Your collaboration can be more efficient .
边栏推荐
- Some tools, plug-ins and software links are shared with you~
- Processes and threads
- Character shader exercise
- Prepare esp32 environment
- Phased learning about the entry-level application of SQL Server statements - necessary for job hunting (I)
- C language data type
- Unicode私人使用区域(Private Use Areas)
- [beauty of software engineering - column notes] 22 | how to do a good job in technology selection for the project?
- Solve the problem that CSDN cannot publish blog due to unknown copyright
- Basic introduction to pod
猜你喜欢

佳木斯市场监管局开展防疫防虫害专题食品安全网络培训

LANDSCAPE

NLP introduction + practice: Chapter 5: using the API in pytorch to realize linear regression

IonIcons图标大全

Day 014 二维数组练习

An optimal buffer management scheme with dynamic thresholds paper summary
![[lecture notes] how to do in-depth learning in poor data?](/img/7d/5767c078600bd88b7d2146069f4f40.jpg)
[lecture notes] how to do in-depth learning in poor data?

Ansible (automation software)

Some tools, plug-ins and software links are shared with you~
![[paper reading] tomoalign: a novel approach to correcting sample motion and 3D CTF in cryoet](/img/3a/75c211f21758ca2d9bb1a40d739d80.png)
[paper reading] tomoalign: a novel approach to correcting sample motion and 3D CTF in cryoet
随机推荐
[cryptography experiment] 0x00 install NTL Library
Taiyuan bus route crawling
Some simple uses of crawler requests Library
Solve the problem that CSDN cannot publish blog due to unknown copyright
Process and concept of process
C language problems
Internet worm
Some tools, plug-ins and software links are shared with you~
(视频+图文)机器学习入门系列-第5章 机器学习实践
[flask introduction series] installation and configuration of flask Sqlalchemy
Sqlmap (SQL injection automation tool)
@Use of jsonserialize annotation
Dynamically load data
CentOS deploy PostgreSQL 13
Postman interface test | JS script blocking sleep and non blocking sleep
Up sampling deconvolution operation
File system I
Monitor the bottom button of page scrolling position positioning (including the solution that page initialization positioning does not take effect on mouse sliding)
After the access database introduces DataGridView data, an error is displayed
Dynamic Thresholds Buffer Management in a Shared Buffer Packet Switch论文总结