亚当·霍金斯的这篇博客触动了我。Rails作为一个行业的当前状态和趋势最近一直在我的脑海中。
在短短10年间,我们已经从“如何构建一个博客,15分钟的演示(wups !),成长为web基础设施的一部分,成千上万的职位——包括我。它只是令人兴奋的我们已经走了多远。这是因为纯粹的辛勤工作和奉献精神,来自(相对)少数人,他们痴迷于让web开发更好、更聪明和更加充实和有意义。
但随着Rails的大规模增长,对于我们创建和维护Rails应用程序的人意味着巨大的责任,甚至更多的责任,对即将到来的Rails开发人员培训和指导。
我相信任何开发Rails一段时间的人,一定继承了有绝对巨大Gemfiles的应用程序。当然,Rails本身只是一组gem,但当审计这些应用程序似乎也保证将会有大量的过时和废弃的gem,gem本质上是俏皮话或猴子补丁,完全未测试(或者更糟,严重考验),或非常令人担忧的是,出现新的和闪亮的gem——经常有too-clever-for-their-own-good dsl——影响了整个应用程序的设计和架构,移除它们需要大部分重写(你的测试覆盖率看起来怎么样?)
Rails的这种印象,严重损害Ruby和Rails开发人员的声誉,更严重的是,Rails和Ruby本身。
我们怎么会在这里,开始改善我们需要做什么?
我认为我们到达这一点的部分原因是,Ruby和Rails很容易玩!这样他们有些是自己成功模式的牺牲品。我坚信,玩耍是绝对最好的学习方法,而实验新技术对成为更好的开发人员是至关重要的。但作为一个开发人员对客户(无论是作为一个自由职业者,承包商或雇员)有很大的责任。作为开发人员关心我们构建的产品,我们的客户的幸福和成功,Ruby,Rails和Web开发人员的声誉,我们需要确保我们都实践和教授负责任的开发。这意味着对你编写的代码和引用的代码负责。
只是因为有一个gem,似乎立即解决你的问题并不意味着你应该将它添加到您的项目。阅读代码,阅读测试,了解它是如何工作的,它做什么,不做什么,依赖它,它是如何支持,开发人员应对问题和PR吗?非常重要的是,考虑删除它有多么困难。如果它将“聪明”地改变应用程序编码的方式,它可能不是一个好的选择。仔细考虑这些东西,在添加到Gemfile之前。
问问你自己你认为这个问题应该如何解决。如果你使用它在一个应用程序中,使用清晰和明确吗?当你离开了项目而一些可怜的人继承了您的代码,新的开发人员要了解发生了什么,或者他们会开始检查git日志和诅咒你的名字吗?
我们需要考虑我们如何鼓励负责任的开发实践在刚开始的Rails开发,同时也不阻止玩和实验。
我最近跟一个成功的CEO交谈,快速增长的公司,其业务是基于一个大型的Rails应用程序。到目前为止,Rails兑现了所有的承诺,帮助他现在的公司。但是现在,很久以前似乎无害的开发选择,开始妨碍公司开发新特性和测试新的经营理念的能力。这绝对不是我第一次听到这个问题。
正如我之前说的,这是开始影响Ruby和Rails开发人员的声誉。也许我担心这只是我自私,但如果Rails得到一个坏名声,我也受影响。Ruby是比这更好的。Rails是比这更好的。我们是比这更好。
我完全支持亚当在他的帖子所有的观点。如果你是一个Rails开发人员,我强烈建议你阅读和考虑他的建议。但请不要停止玩,尝试,最重要的是,在Ruby中享受工作。
广告时间:
Ruby是知识海洋的贝壳,一起来捡吧。
高性价比培训:
一个月短期培训,自由学习无压力
Rails网站开发入门,费用499
Ruby和Rails课程,可以为进入编程领域做准备
欢迎了解和交流
微信订阅号:简学互动Ruby(jxhd-ruby)