设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
使用版本控制系统的 3 个建议
返回列表
发新帖
使用版本控制系统的 3 个建议
[复制链接]
11
|
3
|
2015-9-22 15:53:22
|
显示全部楼层
|
阅读模式
如果说有什么是开发软体专案一定要使用的基础工具,使用「版本控制系统」应该可以记上一笔。无论是个人或是团队开发,都可以透过版本控制系统获得巨大的好处。
没有版本控制系统的话,档案可能被别人或自己不小心覆盖或遗失、也不知道是谁因为什么原因改了这段程式码、也没办法可以复原回前几天的修改。有了版本控制系统,开发人员只要将每次程式码的变更都纪录(Commit)起来,并且透过版本控制系统中进行更新。
有了版本控制系统,我们可以浏览所有开发的历史纪录,掌握团队的开发进度,而且作任何修改都不再害怕,因为你可以轻易的复原回之前正常的版本。我们也可以透过分支(Branching)和标签(Tagging)的功能来进行软体发行的不同版本,例如稳定版本、维护版本和开发中版本。
已经没有什么可以阻碍你使用版本控制系统,Git 或Mercurial 是免费开源的版本系统系统、随处可用的网路、便宜的云端伺服器,甚至有现成的第三方服务Github 或Bitbucket。
如果你还没有使用的话,建议马上为你的软体专案建立版本控制。接下来是几点使用版本控制系统的建议:
回复
使用道具
举报
千问
|
2015-9-22 15:53:22
|
显示全部楼层
1. 把所有东西都放进版本控制系统是的,「所有」专案中的产出物(Source Artifact)都放到版本控制系统之中,这包括了程式原始码、测试程式、文件、设定档、各种自动化脚本等等。除了新成员可以很容易拉出最新的版本马上开始工作之外,我们也希望在测试环境、正式环境中,也可以随时更新到我们所指定的版本,因此将所有变更的纪录保存起来是非常重要的。
例如,资料库纲要(Schema)的变更也必须纳入版本控制。首先,我们在资料库中纪录它目前的版本编号。接着我们每次的修改都透过一个自动化脚本来执行,并将这个脚本放入版本控制之中,而不是手动用指令去修改纲要。这样的好处是团队中每个人都可以透过版本控制系统看到这个变更,并且升级他的资料库。测试和正式的伺服器环境,也会透过这个脚本来自动进行升级。笔者熟悉的Ruby on Rails 中就有内建这样的Migration 机制,其他程式语言也有类似的资料库工具。
另外,以伺服器应用来说,光是有「程式原始码」还是无法100%让软体正确地跑起来,我们还需要知道伺服器的配置设定,包括基础网路设定、作业系统设定、依赖的套件版本等等。因此最好这些配置设定也可以纳入版本管理系统之中。近年来云端技术的进步,已经可以将这些基础设施设定当作程式( Infrastructure as Code ),无缝地让每个成员和所有环境都使用完全相同的设定,减少出错的可能性。
回复
使用道具
举报
千问
|
2015-9-22 15:53:22
|
显示全部楼层
2. 频繁且适当大小的递交如果久久才递交(Commit)一次修改到版本控制系统,那么你只是把版本控制系统当作一种备份工具而已,而没有享受到它真正的好处。频繁的递交可以帮助团队开发进度的透明化,减少多人开发时的程式码冲突。当多人同时修改同一块程式码时,解决程式码冲突是很麻烦的事情。还有,我们也希望每一次的递交有适当的粒度大小,也就是每个Commit 的内容应该有高度相关性和独立性。例如是一个小功能或是一个小改进。如果你同时在做新功能A和修旧Bug,那么就应该分开两次递交。语法错误无法建构的程式也不应Commit 造成团队困扰。
有良好大小的Commit 的好处除了版本的历史纪录更加清楚之外,我们可以非常轻易的做程式码的复原或移植,假设上述的新功能A有问题,我们可以只复原A而不影响修好的Bug ,或是只挑选修Bug的移植到不同分支去。
回复
使用道具
举报
千问
|
2015-9-22 15:53:22
|
显示全部楼层
3. 良好的递交讯息每一次的递交我们都必须附上一段解释讯息,说明修改的内容和原因。这除了可以帮助团队合作之外,更重要的是让软体有更好的维护性,以便将来备查,以下的场景相信开发者都不陌生:
软体发现一个Bug,下班前指派给你修
你追Code 追到一段看不懂的程式,也没有任何注解
透过版本控制系统,你找到了某A 君在一年前加了这行,递交的讯息是Fixed shit bug 或一个单字Tweaks
A 君还在公司,可是他也不记得当初是哪一个shit。或是他已经下班或离职了,反正找不到
你硬改了这行code,发布出去
这个功能是修好了,但是发现另一个功能烂了
继续加班到凌晨
一个好的递交讯息应该包括一行摘要讯息,描述你为什么做这段变更,可能是新增、移除、修正某个功能,而不是描述新增或修改哪些档案,重点应放在Why 而不是What 。因为修改了哪些档案和行数我们看版本差异就知道了,无须重复描述。如果你发现很难摘要,那可能表示你包含太多变更在同一次递交了,请试着拆开。
更多讯息细节可能包括
1. 为什么这个修改是必要的?因为某种Workaround?
2. 解决问题背后的原理是什么?
3. 影响的副作用是什么?
4. 专案管理系统(Issue Tracking System)的关联票号等等
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
被猫抓份需要打疫苗吗?
2
眼睛肿紫然后晚上总爱哭
3
腰上突然发现一些颜色比较白的斑点
4
儿子吃虾后过敏,扑尔敏一天最多能吃几片?
5
老黄虫飞在头发上,衣物上,床垫子上会留下粪便吗
6
过敏性皮炎抹药后出现小红疹点子
7
浑身无力,心情很低落,
8
补过的牙齿大概23月就又隐隐作痛
9
刚刚手臂上长了个包,是不是艾滋病前期的症状?
10
这种药可以和别的一起服用吗?
11
腰部两侧隐痛尿频尿急
12
一岁半宝宝胳膊突然红肿,像是被小虫子咬了。
13
小孩补钙什么牌子的钙好
14
怎么才可以恢复性高潮
15
对卫生巾过敏,发痒。
16
腿上过敏,疙瘩还特大,有点痒,怎么办
17
生殖器哪里起了小红包像蚊子咬的好痒
18
脚崴了,疼痛肿胀,有青紫。
19
吃东西时,老牙中间被辣子籽鍵了一下,现在整个牙床子
20
避孕药第二天中午在吃能避孕吗
21
臀部脓肿,只有死血,没有脓肿
22
熬夜熬的黑眼圈太重了,怎么解决
23
发生车祸后背被撞很疼的感觉
24
不知道是不是灰指甲,本人有贫血,听说可能是贫血导致
25
两岁半宝宝误食了一粒维u颠茄铝胶囊怎么办
26
阴道上面非常疼,头昏,晚上肚子疼到起不来
27
失眠焦虑心烦对事物不感兴趣
28
声带囊肿、咳嗽,背部不适
29
小腹疼和胃不知道什么原因
30
右胸上部长了个小疙瘩,肉眼看不见,只能摸到,无疼痛
31
就是龟头上有白点是怎么回事
32
有点想吐,不想吃饭,想睡觉,偏头痛
33
小便慢,总感觉尿不完。
34
以前右脚脚腕歪过,现在转动就有异响,走多了路酸困
35
刀片划伤,深1-2mmm
36
你好我是学舞蹈的今年20岁疫情原因
37
在家压头皮量身高准吗?
38
锁骨骨折取完钢板什么时候能侧身睡觉
39
胳膊上部疼痛和大母指发麻是咋回事
40
胃不舒服,吃东西打嗝打不出
41
一只胳膊起红点,不痛不痒
42
怀孕打胎,做人流需要几次
43
左胳膊一抬起来,肩膀关节处有响声
44
阴部白色颗粒不痛不痒
45
咨询打胎的问题打胎后怎么样
46
破处后,十天左右肚子痛
47
哪些情况需要做牙套?
48
一到晚上我就特别多尿怎么回事
49
您好,医生我前胸后背有很多痘痘
50
皮肤瘙痒,刚开始以为是蚊子咬的
51
乳房奶水不断伴随疼痛感经常能摸到硬块
52
左手骨折,对位好疼痛不已
53
胳膊上起红疙瘩,还有点痒
54
我做钼靶彩超检查,昨天做乳腺穿刺活检
55
晚上睡觉要打呼噜怎么办
56
用完卸妆水眼睛肿得厉害
57
睡眠性交症?经常在梦游熟睡时无意识自慰?
58
右边小腿外侧长了个硬块。看不见
59
睡觉时口水多必须得咽下去不然总憋醒
60
请看看我的阴道正常吗是否健康
61
今晚突然发现晚上脖子上有这个东西
62
莫名其妙小了一个类似于粉刺痘痘
63
空囊妊娠,无卵黄囊无胎芽胎心
64
13个月宝宝发烧拉肚子
65
不知道这个什么东西他没有危害
66
转头时眼睛被竹签刺了一下,沒见出血
67
长了红斑没感觉。这是寻麻疹吗
68
手上伤口发黑怎么回事
69
痘痘变成硬疙瘩后反复变脓包痘痘
70
肠胃不适消化不良体重减轻
71
白带多、小腹疼痛难忍
72
今年体检查出HPV16.18
73
60岁老人头晕恶心呕吐心脏难受
74
男性生殖问题想来找医生详细解答。
75
左腹部坠胀,容易着凉
76
屁股上起了很多红点红包
77
腰部以上起疙瘩,持续性腹泻
78
医生我本来每天胃不太痛了,可是今天吃了雪糕就胃又痛
79
我想问一下这是不是蚊子咬的
80
有一些轻微咳嗽,想知道是不是得了新冠
81
我的睫毛洗眼线被激光打坏了,有什么办法长睫毛吗
82
体检尿红细胞20-30/HP
83
夫妻同型地中海贫血,
84
裆部痒越抓越痒咋回事啊
85
咳嗽想要咨询会不会是新冠前期的反应
86
半夜肚子疼,疼痛难忍次数两到三次
87
手臂上有黑色斑不痛不痒
88
问下关于男性外科的问题
89
精子成活率高,有什么安全可靠的避孕方法
90
上半身起痒痒疙瘩,持续性腹泻
91
睡眠不好,总是胡思乱想
92
右脚内踝骨折前踝骨折
93
下眼睑翻开的地方长了好多小透明水泡
94
尿道很痒不知道是不是泌尿系统感染
95
阴道出血量少时间持续了十六七天
96
腿上长满了一颗一颗的小红点
97
腋下手足多汗,严重会有汗滴下来
98
胸一个大一个小,是为什么
99
这个地方有点白,还有时候起小疙瘩是怎么回事?