240 发简信
  • ruby的tap和try

    最近发现很多时候都要判断 nil , 用了很多三元表达式,写起来总是感觉很重复,想起来以前看过关于 tap 和 try 的相关技巧,论坛里一些高...

  • 异常处理代码优化

    异常处理基本就是 begin/rescue/end的代码块,运用下面三个策略,代码结构就比较清晰。 优先使用顶层异常捕获 使用护卫方法(较少使用...

  • 36个常用js代码片段

    数组 Array 数组去重 查找数组最大 查找数组最小 返回已 size 为长度的数组分割的原数组 检查数组中某元素出现的次数 扁平化数组 默认...

  • 参数列表过长

    方法分割,该方法是否干了过多工作 将参数封装为对象/Hash 使用块比如查询方法,传入很多查询条件,转化为传入块,块内调用方法处理参数

  • 重构-简化条件表达式

    分解条件语句复杂的条件判断抽取为方法 重组条件语句可使用 ||= ,显式返回等替换条件语句 合并条件表达式 合并重复的条件片段所有分支都存在的代...

  • ruby断言小花招

    断言类 正式上忽略断言 跳过方法执行

  • module

    module(模块),主要两大功能:1、提供命名空间2、 Mix-in 扩展功能(模块混入)特性:1、不能拥有实例2、不能被继承 一些用法: 可...

  • fetch方法

    我们知道Array和Hash的#[]方法在索引(键)不存在时返回nil,但有时程序需要必须存在,如果再判断是否为nil就有些傻了(还有的值就是n...

  • 隐式/显式类型转换

    显式的类型转换我们都知道,比如to_a、to_s、to_i方法,显示转化一般用于这样的情形:源类型和目标类型很大程度上不相关或毫无关联 那么,隐...