公司的项目目前和字节跳动合作,对方算是甲方吧,甲方为了统计数据,留存,付费率,次留,三留 等数据。要求服务端 上传至对方中台的服务器,当然包括客户端,需要发送给SDK,对方的SDK汇总到中台。
由于本人待了快两年,写过不少bug,参与了服务端的 好友系统,充值,新手引导,聊天系统,抽奖 宝箱 任务 还有 那些背包,道具,还有一些结算,(对了 该项目是FPS模拟吃鸡游戏)等业务逻辑。这个工作就是公司大佬不屑写,新手会很上头,于是主程就分给了我这个半瓶子的人。
本来以为很简单,不就是打个点,在合适的逻辑的地方调用写好的方法,填入必要的参数,开一条线程,慢慢发呗。但是你永远不知道多人协作能把代码写的多么的可爱。感觉虽然大家都坐在一起,互相是消息闭塞的,功能没有,自己就完整写一遍,殊不知隔壁老王早就写好了接口。于是在开发中,总是为了一个参数,差点咬舌自尽,经常在别人的方法上做叉分,既要满足别人的功能不被破坏,还要保证自己的功能完美实现,还要灵活满足策划哥哥的翻书,或者用out 把想要的参数回传回来。
功能:需要在道具过期的时候,调用埋点,并返回道具的剩余数量。
思路:我很自然的想就在Check的时候,发现过期,就调用埋点,同时获取一下道具的数量。
暗坑:实现这个功能的人,在获取该道具的数量的时候,检查该道具的实体合理性,在检查合理性是调用了检查道具是否过期!!!
这些动辄百行代码里面还真是很难发现这个问题。可怜后端小哥花了两周才找到这个问题。
反思:引以为戒,一定要保证方法功能的单一性。越简单,越强大!!!
埋点真的不是个轻松的工作,要细心,认真。
飞书状态如下: