提个小建议。可以用纸,随时可以丢。纸不要太大。用纸的好处是你可以把多个页面放在一起,然后可以用箭头表示跳转。 推荐 BDD,就算是不能严格执行,也能知道自己要干什么,这样可以节省很多经历,避免浪费与不必要的事情。 TDD 有一点规则就是要写最少的能使测试通过的代码。感觉敏捷开发中,迭代很重要。就是要时刻有能跑的代码,然后再更改(写的更好或者加功能)。所以没必要一次成型。
外来的和尚会念经。 英文的可能会给一些人感觉比较专业吧?再一个国内的商品质量很多都不靠谱。。。 再者,潜在的用户是否很在意是否为英文?
有的是建议写测试(characteriztion test ,简单来说,比如我觉得 1+1 = 3,我就写测试,1+1.should =3,错了再改,对了为止)。但这种感觉难度很大,因为我 rspec 用的不熟悉。。。
如果想看一个部分,就单看一个部分。让代码跑起来,服务器用到了那个 controller 之类的。感觉有点想 debug 的感觉。
如果想全面了解。 1,先让代码跑起来。知道这个怎么用之类的。比如,你要看注册,先自己注册一下。 2,了解主要的部分。database schemea,import classes。 Gem 有 railroady,可以显示数据库之间的关系,model 之间的关系。找到最重要的(简单来说,就是链接最多的。。),了解最重要的。这个时候,看看文档了之类的。如果有 feature,看下 feature。不太需要考虑细节。 3,然后具体看某个部分。
面试官问,你觉得我上面问的问题,哪个最另你讨厌。。。
为经过审视的人生是不值得活的,没有测试的代码是不值得写的。 后半句是我编的,笑笑就好。哈哈哈哈。。。。
#1 楼 @Levan 一会重新写下! #2 楼 @blackanger 改过来了。edx 建议翻 墙
#9 楼 @funfriend i3 一代。。。y460 好老的机器了。
i3 一系列 6G。。。 跑 rspec 有一点不爽,但用 autotest 还是可以接受的。
但跑过一次 typo,有些吃力了,开网页速度就慢,测试速度也慢,尤其是 cucumber,一次 2 分钟。
其实楼主说的那些我的电脑应该也很轻松,项目大了可能跑起来就吃力了吧?我就跑过一次 typo。。。具体的不知道。
douban 上的。。。。 利人利己的行为吧,没什么不好。
bundle update 试试
赋初始值呢?? 比如 a || = ""
ruby 没有 null 吧??
irb(main):027:0> def a(opt={}) irb(main):028:1> puts opt.to_s irb(main):029:1> end => nil irb(main):030:0> def b(opt2={}) irb(main):031:1> a(opt2) irb(main):032:1> end => nil irb(main):033:0> dic = {:abc=> 1,:cde => 2} => {:abc=>1, :cde=>2} irb(main):034:0> b(dic) {:abc=>1, :cde=>2} => nil irb(main):035:0> b({:a=> '11',:b => '22'}) {:a=>"11", :b=>"22"} => nil irb(main):036:0>
这事不应该放在这套乱,不是说程序员都没女朋友吗。。。。
除了那些自己 new 对象的
在一起生活矛盾很多,可能并不是脾气变坏。
我觉得如果装了 7 年,早就装成习惯了!
def count_with_record(money,money_kinds,used,way = [],ways)
if money == 0
ways << way
return 1
elsif money < 0 or money_kinds.empty?
return 0
end
way1 = copy(way)
way1 << money_kinds[0]
way2 = way
return count_with_record(money - money_kinds[0],money_kinds,money_kinds[0],way1,ways) + count_with_record(money,money_kinds[1..-1],0,way2,ways)
end
def copy(arr)
r = []
arr.each do |e|
r << e
end
return r
end
money_kinds = [3,2,1]
money = 5
ways = []
way = []
puts count_with_record(money,money_kinds,way,ways)
puts "should be 5"
puts "all the combination"
puts ways.inspect
写的丑了些。。。
fib,可以一边递归,一遍记录(放到 hash 里面),这样复杂度应该可以。
tricking,一种特技,以退法为朱,还有前后空什么的。我腿法和空翻都算是入门水平。但是,现在什么都不会了。。。
据说关于 refactoring 的书,如果只看一本的话,就看这一本,没看过,顶一下!!!