leancloud实习总结

在 LeanCloud 实习两个月,写点东西记录一下这段时间的感受。 LeanCloud目前还是一家创业公司,提供的是BaaS服务,主要是在各个厂家提供的云产品的基础上进行封装、拓展,将分布式系统的细节隐藏起来, 给用户看到的是一个功能强大的“单机”数据库,从而极大地减少后端/运维的工作量甚至取而代之。

我实习期间基本上只参与了收费系统的开发,大致就是做一些统计发一些告警邮件之类的工作。 有意思的是开发用的语言是Clojure,工业环境用函数式语言最大的好处就是易维护, 至于运行效率,反正我们只是数据的搬运工,性能瓶颈不在这里:)我入职第一周就能开始写代码, 可见系统可维护性跟某些用C++写的祖传系统真的不是一个等级。

虽然做的事情听起来很简单(实际上也很简单),但我还是犯了很多错误。变量名, 接口设计的不标准在前期是家常便饭了。另外还有之前写玩具代码不怎么会考虑的问题, 比如打log,处理超时,调用失败等。最后几天我还把精度高的数据存到低精度的字段了, 写测试的时候居然没考虑到这种情况,失败。BTW,写测试测自己写的程序好像怪怪的? 都要互相review代码了感觉代码测试分开写比较好一些?

在这边最大的收获还是开拓了自己的视野。看到某些重要issue下一长串的讨论, 明显感觉同事关注的重点跟我完全不一样。我原来的视角有点像开发浅层应用的程序员, 不过算法好一点罢了。公司则是要为用户提供Baas服务,他们的视角更像是一个设计者, 一个架构师。当时正在开发一个叫LiveQuery的功能,是为了解决多点数据同步问题的。 本来一般的公司只要根据自己的业务特点,选择适当的解决方式即可,但是作为云服务的提供者, 必须要把这个功能抽象出来,在不同的实现方式之间作取舍,甚至通过定价策略引导用户改变使用方式。 除此之外,我还接触了一些软件工程的方法论。这些东西之前只在一些公众号里看到过,还看得云里雾里的。 这两个月耳濡目染,真的受益匪浅,可惜我现在能力有限,还没法把这些东西系统地写出来。

LeanCloud好处还没说全,团队内部的氛围非常好,福利也很丰富,不过这些对我这个实习生来说就显得不那么重要了。 现在来看之前在学校闭门造车,走过的弯路还是不少。能早点接触工业界的生产方式, 对我来说是最大的收获。BTW,能跟昆山这么多大神一起工作也是一段很有趣的经历。 感谢LeanCloud。