Gem or Not

Jun 5, 2015

玩Ruby on Rails一段时间了,一直是所有代码自己手写(不借助其他gem,当然rails原生的还是要用的~),这段时间为了熟悉各种gem,把一些相应的功能都用gem来替代,也算完成了一个项目。

而这两种方式也给我带来了不同的感受:

  • 手写相应的逻辑代码能够让自己对该功能有更具体的认识,比如关于注册登入登出等功能,手写的就能对session、cookie等内容有深入了解,而如果直接利用Devise这个gem,则这些内容对于自己就相当于黑箱,虽然也能够完成功能。

  • 利用gem可以更快速的实现功能。比如本次项目从开始到基本完成所有功能大概就只花了大概3个小时(不包括页面设计)。

  • 手写代码更容易定制或扩展功能,而利用gem虽然读完相应的文档也能在该gem的支持下实现部分扩展功能,但仍然会有些限制。

上述三点就是通过两种不同方式完成项目的一些感受,总结一下,如果需要快速完成项目原型或后期相应功能不需要太大改变,可以多利用gem,但是当之后需要有不断扩展时,可能自己实现会更好一些(当然如果允许,也可以深入hack相关的gem)。还有,学习阶段应多自己手动完成功能以取得更多的进步。

comments powered by Disqus