金山信息港

当前位置:

作者高昌健前客户端开发者2019iyiou

2019/05/14 来源:金山信息港

导读

作者:高昌健,前 客户端开发者我之前在 PC (以下简称 )部门做过一段时间客户端开发,就讲讲我的一些经历。开发每个人有两台联想台

作者:高昌健,前 客户端开发者

我之前在 PC (以下简称 )部门做过一段时间客户端开发,就讲讲我的一些经历。

开发每个人有两台联想台式机,预装 Win 7 和一堆内监控软件,你懂的。配置还可以,不过其实开发 有时候还是会有点吃力。一台接入开发,只能用来开发和上公司内。另一台接入办公,可以上外,但是腾讯内部有白名单,非腾讯自家客户端上也必须设代理,所以有时候就比较尴尬,比如如果某个软件不支持代理就傻了。我曾经想 push 代码到 GitHub,后以失败告终。总部大厦几乎每个地方都有免费 Wi-Fi,所以如果你自带电脑的话上还是可以比较爽的。

开发环境 Visual Studio 2005,我因为习惯了 Vim,所以都是在 Vim 里敲代码,然后拿 VS 来编译和跑程序。强烈推荐再装上「小番茄」[1],至于我们有没有交钱这个你也懂的。版本控制是 ClearCase(大槽点之一。。。以下简称 CC),CC 是我见过的逆天、的软件,安装文件硕大无比,用的时候卡得一逼。

内部对版本控制系统的使用要求比较严格,当你需要开发一个新需求的时候要先发一封邮件给 CC 管理员(居然有单独的管理员!),让他给你建一个子流(相当于建分支,建分支居然还要申请!)。然后从 CC 服务器上把新建的子流拉到本地,注意,虽然这只是一个分支,但是你需要把整个 代码都再重新下载一遍!所以一般这种时候你可以去喝杯水看看风景啥的,时间取决于速,一般 30 分钟至数小时不等。然后你终于开始了「愉快」的开发生活,你会发现每当你要修改一个文件的时候,你需要先 checkout 它(注意跟 Git 的 checkout 没有半毛钱关系),checkout 完之后就只有你能改这个文件,如果刚好有人和你在同一个子流开发,必须等到你 checkin 之后才能 checkout 这个文件。当然如果你等不及别人 checkin,你可以先 hijack 这个文件,改完之后再跟别人的修改合并。写好代码想编译下看看效果,首次编译 的话耗时巨长无比(而且每次拉了新的子流后都要经历一次),所以你又可以去喝杯水看看风景啥的,时间取决于机器性能,一般 1 小时至数小时不等。并且编译过程中开发机基本处于卡死状态,根本没法用,于是我通常都是吃饭前或者下班回家前干这种事情。

开发完成之后没有 code review,况且要通过 CC 来看更改也极为麻烦。这时需要制作一个安装包给测试人员,打安装包这种事情一般交给编译机,时间 20 分钟左右,快记录貌似是 8 分钟,当时负责优化性能的同学还拿了奖啥的。测试过程中使用内部系统 TAPD 进行 bug tracking,每个 bug 分高、中、低三个等级, 这边的 QA 对于质量要求很严格,需要同时通过功能测试和性能测试,通常要求是 0 个高单和中单(俗称 0 bug 合入),少量低单是允许的。在经过严格的测试之后就可以合入主流了,使用 CC 的 deliver 功能来完成。但是先 rebase 主流(相当于 merge 主流,同样跟 Git 没有半毛钱关系),确保没有问题之后再 deliver。至此你的开发任务已经完成,接下来就是等待版本发布。

内部有一套成熟的客户端框架,代号 Hummer(蜂鸟),提供了诸如代码解藕、公共库、插件机制、国际化等功能。自研的皮肤引擎,代号 GF(GUI Foundation),用来实现各种界面效果。这两块是作为 开发者必须要掌握的,同时围绕这两块还开发了一堆小工具,常用的就是 LogViewer,用来查看日志文件,还有性能工具用来分析代码性能。底层代码和应用层代码是分离的,因此有时在 debug 时会遇到部分代码无法查看的情况。

配图一张,原谅写得有点罗嗦。话说自从来了知乎以后,就再也体会不到那种按下 F7 的快感了。

2006年汕头零售C+轮企业
香港:从两次金融危机到粤港澳大湾区
2010年重庆旅游B+轮企业
标签