• #18 楼 @zhuoqun 谢谢,我搞了个电子版。

  • #1 楼 @lgn21st 最后两分钟那位胖哥就是你吗?

  • 《给大家看的设计书》请问这本书的 url 是什么?上当当网,发现有太多山寨版本。

  • 我的方法,另外开了张贴 http://ruby-china.org/topics/7145

  • Cucumber 经验总结 at 2012年11月27日

    #4 楼 @camel Rspec 非常适合 unit test,即代码级别的测试,cucumber 主要是 user acceptance test,从业务角度考虑,特别是当你写 scenario 时,和产品经理和测试人员一起讨论,你会对产品有一个非常全面的了解和定义。另外就是,你用 rspec 很难测试前端的东西,例如各种 ajax 请求,popup 页面。我认为两者都需要,不冲突,从开源项目来看,也是这样。但如果财力有限,2 选 1 的话,我会选 rspec。

  • #29 楼 @happypeter 没关系,想想你的回复

  • 两者都有使用,两种都觉得很好,侧重点不同。

    至于是否采用 BDD, The cucumber book 已经有提及,按项目需要与进行。

    你的 cucumber 还是中文的,我相反,我喜欢打英文,这样打字会快一些。

    RSpec 如果写得好,看上去也舒服,cucumber 就更接近人类语言。Live doc 这个好处在我们这里没能体现,基本没人关注的,这与团队文化和产品经理有比较大的关系。

    另外,如果使用 3rd party gem,看看人家写的 rspec,可以很快对 gem 的使用上手。

    最后就是成本问题,初次写的成本较高,但后继 continuously integration test and deployment 就体现了重大的价值。

    之前网上也有许多人对 cucumber 有较大的争议,文章我忘记了出处了,可以上 Google 查一下,非常有意思。

    @ruohanc @pongyo 的意思是,新版的 cucumber 应该不会自动生成 web_steps.rb,即以前 click , press 之类的 step 你需要自己去写,写成人类语言。不过我还是沿用老做法,不想花太多时间去重写 steps。

    后继相关问题还有,其实还是很好玩的 :smile

    • Factory Girl module 创建与付值
    • Pickle module 的创建
    • Guard rspec, cucumber 自动测试
    • Spork cucumber, rspec 提速
    • Auto deploy to integration testing server
  • @happypeter 我也想录制一些心得放上去 happy cast,请问有无 guideline。另外能否推荐一下录制工具。谢谢。

  • 我用 Mou,之前还有两个,一个叫简书,还有一个忘记了。

  • 看完后,我的第一反应是,能否完全重写,如果有现成的需求文档和之前的设计文档。

    顺便可以升级一下 Layout,这样 Front end 那块就不用重构了。直接从新开始,可能更快。

    Constant 代替 Model 没看懂,能贴些代码上来不? Redirect -> Redirect -> Redirect 我以前接一个 Java 的项目也是,害我将所有 Redirect 画在纸上才明白它在干啥 :-) ,太痛苦了

    不过你说的问题,在其它language也是一样,最近接的一个十年历史的C#也是差不多,全部table view + pop up box, inline css + inline js(without framework)。所以我觉得重写更快一些,但也碰到过一些项目,几年下来,上千个 table,没有 comment,没有文档,根本无从入手,还要不是英文的,变量名字都没看懂。

    BTW,看旧代码很伤神的,快听听音乐舒服一下。

  • [ Ruby on Rails ] 重構經驗談 at 2012年10月24日

    #11 楼 @hellolucky123

    我们也是从 0 开始的,HAML 和 SASS 都是强硬推下去,效果好。因为上手后大家都喜欢这玩意。至于上不上,这依据团队的情况和项目的需要吧,没有绝对的。

  • [ Ruby on Rails ] 重構經驗談 at 2012年10月23日

    我觉得可以改进的有

    • 改用 haml,少写许多代码
    • 改用 coffee script,因为 coffee script 是 precompile 的,自然避免 mixed ruby code inside
    • 关于 js 切块和 sass 切块,我自己的心得 http://scriptogr.am/mafai/post/coffeescript http://scriptogr.am/mafai/post/sass-structure-research
    • 我也喜欢用 compass,很好的封装
    • 关于 template,我喜欢 underscore.js 的 template,但感觉还是不够简洁,linkedin 推荐 用 dust.js,你说的我还没试过,好像不是同一样东西,晚点再试再来回贴交流。
    • 其它的还有,尽早写 cucumber 和 rspec,引入 continously integration testing

    如果有 40~50 个 controller,我觉得是无比巨大了,可以考虑用 rails engine 切分,或 sub domain / sub web project 切分。 F2E是啥意思?

    文档就算了,没有 Project Leader 推动和检查,按国人的习惯,一般都是没有,即使有也很难与代码同步,就连老外也是一样,有注释已经是运气不错了。