最新消息:欢迎访问Android开发中文站!商务联系微信:loading_in

虾米穷逼 VIP 事件回顾和由此引发的思考

热点资讯 ruicbAndroid 1786浏览 0评论

近日,在 V2EX 社区的“分享发现”板块,爆出了一则名为《虾米 mac 客户端发现个好玩的注释》帖子。该帖一出,迅速引发了强烈讨论,相信你已经有所耳闻。

 

本着“阐述事情经过,不看热闹不搞事”的原则,我们一起基于事实做出总结和思考。

 

 

1. 事情经过

 

事情起于 V2EX 上一则名为《虾米 mac 客户端发现个好玩的注释》的帖子,帖子原址为 www.v2ex.com/t/407653?p=1,截图如下:

 

 

看到这儿,肯定有人质疑了:居然能看到如此清晰的源代码?

 

先别着急,在这儿给大家简单科普下:

 

虾米 mac 客户端是基于 Electron 框架搭建的,由于没有对 release 代码做混淆和压缩保护,所以提取出来的跟源码没有区别。

 

具体的查看和分析流程,感兴趣的可以自行查阅,就不再贴出来了。总之就是在 Mac 客户端上,通过查看应用包内容,找到 app.asar 文件,然后使用文本查看软件打开,就可以看到。由于官方在第一时间删除了相关注释并发版,所以现在已经看不到了。当然,这不是重点。

 

2. 网友看法

 

事实在这儿摆着了,网友们也纷纷表达了作为局外人的看法。

 

来自业内的网友:

 

作为一名码农,深知代码、文档、注释这种东西不光你的同事领导会看,在你离职的几年后都有不认识的人会看到,深表惶恐,哪敢乱写?

 

这其实反应了现代软件工程的一个现状——阅读并理解别人的代码是如此麻烦,以至于从中型项目开始,系统的一个模块的代码往往只有写它的那个工程师认真看过,其他人处于人人手头一摊事的状态,也没法去认真审阅,中间自然存在巨大的个人‘发挥’空间。

 

这代码居然能过 review ?

 

也有透过现象看本质的:

 

在此次事件中, 也有人看出了编译型语言的“优越性“, 暴露了解释型语言的不足。编译型语言需要专门的解释器进行“翻译”,普通用户无法直接查阅代码的含义。

 

更有类似文科生的观点:

 

此次事件,表明了编译型语言的优越性,暴露了解释型语言的不足。充分说明了,现阶段程序开发的主要矛盾,是日益增长的开发需求同编译型语言开发速度低下之间的矛盾。

 

 

 

3. 后续进展

 

此次事件之后吗,虾米客户端连夜过审代码,删除虾米音乐客户端中的不当用语,修复了文件混淆失效的 BUG,并及时更新了版本。

 

而对于大家关心的谁来背锅的问题,最终在知乎有一位程序员站出来公开道歉了,由于匿了,所以是谁也不得而知,我们也没必要知道,截个图就过了吧。

 

 

 

4. 个人观点

 

人非圣贤,孰能无过。

 

作为程序员的我,可能天生老实,每每看到这类事情,总会想到这句圣贤之语。

 

但就事论事,我们可以不做吃瓜群众,看热闹不嫌事大,但我们至少应该有自己的观点。

 

往小了说,是程序员小哥对待工作不严谨,在代码中加入了不当的注释。PS:话说回来,那些从不加注释的同学才更可怕…

 

往大了说,就可以上升到个人品行问题,公司价值观问题。

 

总之,工作态度问题也好,个人品行和公司价值观也罢,事情已经过去了,相应的弥补措施和道歉已经落实,我们穷追已然没有任何意义。

 

回过头来,作为局外人,我们是否应该有一些借鉴和思考呢?否则我们和吃群众有何两异?

 

  • 正如《黑客与画家》一书中所说的,“程序写出来是给人看的,附带能在机器上运行”,所以,请认真对待你写的每一行代码,每一句注释。

     

  • 如果有可能,请推行或配合 Code Review,能在开发阶段发现许多不规范或者显而易见的问题。假若条件不允许,也请在提交前,自行 Review 所做的修改。

 

  • 认真对待发版,对自己的产品负责,正如对自己的孩子一样,悉心、谨慎。试想,如果虾米的程序员做好了这一点,就不会有着一系列事件,当然,事情发生了,再小的问题,哪怕只是无须有的注释,都会酿成大祸。

     

  • 最后,敬畏代码,敬畏用户,对一切人、事保始终持敬畏之心。

 

 

 

转载请注明:Android开发中文站 » 虾米穷逼 VIP 事件回顾和由此引发的思考

您必须 登录 才能发表评论!