在国内某互联网公司做 C++后台开发,其团队工作效率之低不得不让人吐槽。
- 模块化思想没有,基础版本为 B, 有新需求之后派生出了 B1, B2, B3,导致功能更新慢,维护成本高。
- 测试的思想也没有,基本上能运行等于测试通过。
- 组内协同工作基本靠嘴,好多人不会用 git, 有会用的也是当 svn 用,gitignore 都不了解。
- 人管机器,线上服务器环境手动部署,除了 core 之外基本没监控。
于是我做了以下事情:
- 用 gitlab 搭个了组内服务器
- 用 gitlab-runner 跑自动构建
- 写了一些测试,也放在 gitlab-runner docker 上跑
但是遇到两个问题
- 显然以前能 work 的模块(其他同事负责)测出好多漏洞,但是修漏洞又没绩效,都是内部漏洞用户感觉不到,所以没有修。反正线上能 work,万事大吉。
- 组员不思进取,git 的时代都没跟上了。根本没法推广。
// 内部漏洞怎么说呢,就好比模块 A 提供独立的三个功能,f1, f2, f3,现有逻辑是顺序调用,但乱序调用就会出错。
我现在觉得开发效率比一些同事高不知道多少了。
随便举个例子,比如代码更新,别人要做的就是
- 在 Windows 上改代码
- 用 secure CRT 传到服务器上
- 手动编译
- 手动运行
- 手动测试,常常是专门启动另一个程序
- 有错误跳回第一步,修改 bug.
在我这儿是:
- 在 Linux 上改代码,改的时候
flycheck会把警告和错误都即时报出来。 - 提到 gitlab,自动编译,测试,STL 和 C++11 用的多,基本上不错。
楼主只是底层员工,没办法改变大局,产品表面光鲜,内部就是一坨。就想问一下:有没有公司是真心注重代码质量的,是 test-driven development,是你提 issue 别人就能有反馈的。外企会不会好,大家说说呗。(楼主数学英语都还行)
以上言语如有偏激,求轻喷。