相识 | 做女程序员的导师
注:
疯癫正传暂分三个阶段:相识、相知、相依。
更新的博客是穿插正在发生的或回忆的事情。
此系列博客列表请点击博客侧栏的相应分类。
她的某功能被恶意玩家刷金币了
她是以实习生的身份加入我们的。负责的一个不大的功能——玩家在游戏内参与问卷调查,调查完成后可以获得游戏内一些金币奖励。她由于没有在服务器端做玩家是否已参加过调查的逻辑检查,导致玩家可以一直利用他这个功能来刷金币。
因为她商业代码的经验还刚起步,加上平时工作态度和成果都比较不错,团队整体较包容。但是这个事情暴露了我们团队在新人代码质量跟进方面的工作比较欠缺,而我相关经验丰富,项目负责人就让我即刻起做她的导师。
做导师?岂不是有了多接触了解妹子的正当理由了吗?窃喜先放下,今儿得先帮忙把这个恶意玩家刷金币的漏洞给堵上啊。
线上把问卷调查功能关掉后,马上开始看妹子的代码。一看,果然是没有经历过磨练的初级程序员的代码,代码格式不规整,逻辑啰嗦而不简洁清晰,还到处充满 Magic Number
——魔数。
问题太多,我们优先把核心漏洞的代码逻辑给加上。开始手把手的教怎么添加检查逻辑,一两个回合发现相关知识她还不具备,帮她找到项目里其他功能相关代码来照猫画虎,但进度也不乐观。大约到22点左右,代码里还有很多逻辑不够简洁清晰的地方,这些地方如果不好好整理还有可能会有各种隐患。这时有其他同事准备下班了,我担心妹子太晚下班路上不安全,就让准备下班的同事带妹子去打车,务必让妹子先上车走。代码的事情由手把手教变成我亲自修改完善。
我小心翼翼的重构到 23:00 左右,测完 OK 后提交到 SVN,就打车回家了。第二天我到的晚了些,妹子不好意思的问我是不是改她代码改到很晚,我说没有。
做她的导师
从那之后,她的每次代码提交都需要通过我的评审,这项工作就是软件开发里的代码评审 - Code Review
。
因为我们是邻桌,代码评审的时候,她可以很方便的移下椅子凑到我的显示器这来一起看她的代码。从初中之后就很少有这样跟一个女生凑很近的讨论问题了,屌丝如我,感觉很好。
评审不只是给一个代码是否符合规范的审核结果,更多的是要跟她探讨明白具体哪些地方不合规范、哪些地方可以怎样地更好地实现。有次项目的一个美术妹子在附近讨论需求,冷不丁多次凝视我和女程序员的这种颇似“亲密交流”的场景,屌丝逆袭的错觉油然而生。