腾讯程序员开源协同( 二 )


纵观tRPC微服务框架(腾讯内部的一个开发框架)Oteam的协同过程 , 也是一个“吵”的过程 。吵归吵 , 可以“关门、送饭” , “吵”个痛快 , 但事后必须有结果 , 出共识 , “按手印” 。争吵的获胜不是目的 , 对技术负责 , 增强全面认知、形成共识的才是目的 。腾讯程序员们“不再孤独” , 也看到了山外有山 , 人外有人 。
腾讯程序员开源协同
文章图片

文章图片
tPRCOteam生态日
田甜对此深有感慨:“我们以前的思维还是局限的 , 用技术解决业务需求后就觉得自己很牛 , 但有Oteam后 , 和其它团队交流时就会发现 , 他们可能有更好的解决方案 , 通过交流和协作 , 不管是技术格局还是实操思路 , 都会上升一个level 。”
统一代码规范 , 就是程序员们的共识发展到一定程度后 , 自然而然达到的 。
207行共享表格
2019年11月 , 腾讯正式成立代码规范Oteam , 统一输出各大编程语言的代码规范 , 号召全公司的程序员都按照规范来写代码 。
要知道 , 让程序员改变自己的代码风格是非常难的事情 。
一位在代码规范领域工作多年的资深专家刚入职腾讯不久就发出感叹:“腾讯在搞什么?一年对这么多门语言做规范化 , 简直不可能!”
程序员们写代码都会有自己的习惯 , 这仿佛是他们默默留下的印记 , 或者说是个性标签 。坊间不乏关于代码“大神”写作习惯的各种传说 。
但如果不同团队都把贴着各种“标签”的代码拿出来协同开发 , 问题就来了:写代码的习惯不统一会带来程序编码混乱 , 极大增加多人协作的成本 。而腾讯曾延续多年的产品“赛马”机制 , 催生出许多业务相似的技术团队 , 这些团队恰恰各有各的代码习惯 。
换句话说 , 即使腾讯内部源代码全部开放了 , 不同团队之间协同开发的效率还是会受到影响 。
怎么让这些个性不同、代码习惯各异的程序员做出改变 , 确立代码规范 , 就变成了一件很迫切的事 。
为了激发程序员们的动力 , 开源治理打榜赛应运而生 。由代码规范Oteam和腾讯负责开源协同落地的技术工程事业群(简称TEG)运营管理部共同主办 , 鼓励各大事业群的技术团队来打榜 , 较量代码规范度 , 比拼开源治理分数 。
姚穗斌是代码规范Oteam的创始成员之一 , 一度为程序员不愿意配合代码规范而烦恼 。
没想到的是 , 技术团队们的参赛热情完全超出了主办方的预期 。这次他惊讶地看到 , 比赛公告刚贴出来没多久 , 就有60多个部门主动来打榜 。
甚至有些参赛技术团队在企业微信中编写了“机器人”程序 , 每天提醒打榜赛的开源治理分数 。
“一开始很多团队的代码得分不及格 , 打榜赛进行几个月后很多就蹿到了90多分 , 最后竟然有10多个部门都拿到100分 , 我们只好数到小数点后两位才评出冠军 。”姚穗斌说 。
腾讯程序员开源协同
文章图片

文章图片
2020年开源治理榜打榜赛颁奖现场
打榜赛结束时 , 腾讯各事业群的开源治理平均分为90.29分 。而此前 , 在代码规范Oteam对全公司代码规范度的摸底调查统计中 , 各事业群的平均分仅41.05分 , 不及格 。
姚穗斌称 , 开源治理打榜赛彻底激发了程序员们参与代码规范的热情 , “大家的胜负欲被点燃了” , 一些原本不太关心代码规范的技术团队 , 在打榜赛中居然拿到了超高分数 。
主办方腾讯运营管理部总监徐海丽介绍 , 开源治理打榜赛是开源协同“新代码文化”诸多工作的一个典型 , 它的价值在于协助Oteam在公司内外打造技术影响力 , 帮程序员们找到更多存在感和荣誉感 。