`
easylife
  • 浏览: 14859 次
  • 性别: Icon_minigender_1
  • 来自: 忘记
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
1 代码里的坏味道   0 重复代码   1 类太大   2 参数太多   3 发散型变化     比如:“嗯,每次得到一个新数据我都要修改这三个方法。“   4 霰弹型修改(平行继承体系)     每次对某类修改时,都要修改其他类   5 特性依赖     某个方法似乎更对另一个类(而不是本身所在的)类更感兴趣   6 数据泥团     有些数据总是同进同出   最基本原则就是把一起变化的东西放在一起   7 基本类型偏执   8 case 语句     试着使用多态   9 废弃代码,过度设计   10 临时字段     数据库里有些字段很少使用,某个实例变量只在特殊情况下使用 ...
1 在你觉得需要写注释的时候写注释:   首先你需要为方法,类或者模块起个简单易懂的名字   如果必须通读一个方法的代码才能了解它做什么,那么开发人员先要投入大量时间和精力才能使用它。反过来说:只需要短短几行 ...
1 所有内容都在本地   便宜快速的本地分支   因为是本地的所以是分散的 2 git 很省空间   git 很快 3 缓冲区功能 4 github git flow 一些版本控制系统把工作目录称为工作拷贝。git新手经常会混淆git中的版本库和工作目录树。因 ...
即使冒着被板砖砸飞的风险,我也要说:   Object-Oriented Analysis and Design with Applications (3rd Edition)   对于ruby程序员(也许再加上使用敏捷的团队)并不实用   让我稍微借鉴某位名人说的话来评论这本书: 书分两种,一种是写的尽量简单,并且没有明显问题,另一种是写的尽量复杂,并且没有明显问题   本书属于后者,不值回书价       买之前在china-pub看书评,虽然有几条不和谐的评论(如现在的我),但是大多数还是好的。现在再看那些书评,莫非是书托,而且是官方的书托?   顺便看了a ...
controller测试 1 看一个普通,基本的用户请求是否能引发预计的ActiveRecord正常工作,需要的数据是否传给了view 2 检测controller是否能够适当地处理不合格式的请求 3 检测权限系统是否正常工作,比如一个用户请求了登录或者 ...
环境 2.2.2 call_back 中的操作和相应的action 是在同一个数据库事务下的。 一个save 及类似指令将会发起一个事务,如果rails 检测到某个model 对象中的全部属性并无改变(参阅rails 中的dirty objects),那么至少在development 的环境下,save 指令将不执行,事务仍然发起,像这样: begin commit
begin # raise "fine" # raise ArgumentError, "ok" # raise SignalException exit rescue => e p "cool" p e.message end p "cool" =begin begin exit rescue Exception p "fine" end p "cool" =end
$answers = [[["an elephent", true]]] $stack = [] def input gets.chomp end # convert_answer_to_question def c_a_t_q(key) "Is it a/an #{key}? (y or n)" end def agent_answer case gets.chomp when "y" true when "n" false else ...
module A def fine p "cool" end def right p "hello" fine p "ok" end end class B include A def fine p "world" end end B.new.right
-- 差距很大,前一版本有很多冗余逻辑 #! /usr/bin/ruby require ' rexml/document ' doc = REXML::Document.new "<gedcom/>" stack = [doc.root] ARGF.each_line do |line| next if line =~ /^\s*$/ # parse line line =~ /^\s*([0-9]+)\s+(@\S+@|\S+)(\s(.*))?$/ or raise "Invalid GEDCOM" ...
Answer to "GEDCOM Parser" version 1 require "rexml/document" include REXML Global_pattern = /\S+/ Id_pattern = /\@(.*)\@/ Tag_pattern = /[A-Z]{3,4}/ doc = node = Document.new previous_level = -1 def convert_to_node(doc, line) cool = line.scan(Global_pattern) if ...
Best of Ruby Quiz quiz 01: Mad Libs results = {} pattern = /\(\(([^:]*?)\)\)/ =begin string = "Our favorite language is ((gem:a gemstone)). We think ((gem)) is ((gem01:a gemstone01))\ better than ((a gemstone))." =end string = "I had a ((an adjective)) sandwich for lunch today. ...
当create失败 render :action=> "new" 时,用的是create action的模板,不是使用 new action 的模板
https://www.spoj.pl/ 不仅能使用ruby,还可以使用python/perl/lisp等几乎你能叫得出名的编程语言进行提交 缺点: 1  每个语言的版本都低了些,ruby是1.8.5 2  题库的题少了些。对于初学者来说足够了
逆向翻译   原文地址:http://www.infoq.com/cn/news/2008/07/rubykaigi This is the second part news about RubyKaigi 2008 from InfoQ, to see the first part in http://www.infoq.com/news/2008/07/rubykaigi-interview-with-matz Ruby standardization Yukihiro "Matz" Matsumoto put his mind of standardization ...
Global site tag (gtag.js) - Google Analytics