当前位置:网站首页>[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 .
边栏推荐
- MySQL 45 talk | 07 line lock merits and demerits: how to reduce the impact of line lock on performance?
- QT connects two qslite databases and reports an error qsqlquery:: exec: database not open
- How to draw an excellent architecture diagram
- [cryoelectron microscope | paper reading] interpretation of sub fault average m software: multi particle cryo EM refining with M
- Vmstat memory consumption query
- Sort out the two NFT pricing paradigms and four solutions on the market
- [note] the art of research - (tell a good story and argument)
- [cryoelectron microscope] relation4.0 - subtomogram tutorial
- [memo] summary of the reasons why SSH failed? Remember to come next time.
- flutter只要是数据,都会判空的
猜你喜欢
![[deep learning] data preparation -pytorch custom image segmentation data set loading](/img/7d/61be445febc140027b5d9d16db8d2e.png)
[deep learning] data preparation -pytorch custom image segmentation data set loading

MySQL 45 | 08 is the transaction isolated or not?

@Use of jsonserialize annotation

【学术相关】为什么很多国内学者的AI的论文复现不了?

Amaze UI 图标查询

Actual measurement of boot and pH pins of buck circuit

(视频+图文)机器学习入门系列-第5章 机器学习实践

JVM garbage collection mechanism (GC)

Data unit: bit, byte, word, word length

My entrepreneurial neighbors
随机推荐
Compare three clock circuit schemes of single chip microcomputer
[cryoEM] Introduction to FSC, Fourier shell correlation
CentOS deploy PostgreSQL 13
(视频+图文)机器学习入门系列-第5章 机器学习实践
[paper reading | cryoet] gum net: fast and accurate 3D subtomo image alignment and average unsupervised geometric matching
[beauty of software engineering - column notes] 21 | architecture design: can ordinary programmers also implement complex systems?
File system I
Greenplus enterprise deployment
Mysql rownum 实现
[freeze electron microscope] analysis of the source code of the subtomogram alignment function of relion4.0 (for self use)
Chapter contents of the romance of the Three Kingdoms
[skill accumulation] presentation practical skill accumulation, common sentence patterns
Day 014 二维数组练习
An optimal buffer management scheme with dynamic thresholds paper summary
Mqtt server setup and mqtt.fx testing
The new colleague wrote a few pieces of code, broke the system, and was blasted by the boss!
[paper reading | cryoelectron microscope] interpretation of the new subtomogram averaging method in relion 4.0
C# 之 volatile关键字解析
智慧城市的应用挑战,昇腾AI给出了新解法
Solve the problem that CSDN cannot publish blog due to unknown copyright