2017年2月16日のブックマーク (2件)

  • 私的アンリーダブルコード―他人を発狂させるための 9 のテクニック

    コードはたいてい一度しか書かれませんが、何度も何人も読むことになります。 普段何気なく書いているコードが他人の時間と精神を削っているかもしれません。 そんなわけで、個人的に辛いなと思うことを 9 つ挙げてみました。共感してもらえるものもいくつかあるんじゃないかと思います。 実体にそぐわない変数名 見分けの付かない配列とハッシュの変数名 呼び出し元で true/false を指定するだけの引数 暗黙の実行順序 [] メソッドの定義・Array の継承 ハッシュの乱用 密結合した mixin 過剰な nil guard 条件によって異なる返り値の型 推薦図書 静的型付き言語を使うことで解消される問題もありますが、その選択肢はひとまずなしということで。 Ruby 前提になっていますが、他の言語にも言えることも多いと思います。 実体にそぐわない変数名 例えば Vehicle というクラスが定義され

    私的アンリーダブルコード―他人を発狂させるための 9 のテクニック
    shibukk
    shibukk 2017/02/16
  • Railsのenumで元の数値を取得する | mn-memo

    enumを以下のように設定したとする enum sale_info: { plan_1: 1, plan_2: 2, plan_3: 3, plan_4: 4, plan_5: 5 } 以下で数値を得られる my_model = Model.find(123) my_model[:sale_info] # Returns the integer value 参考 How get integer value from a enum in Rails? 追記 Rails version 4.2.7.1で確認 – さらに追記 – Rails5だと以下で数値を得られるらしい Rails5だとmy_model[:sale_info]で文字列が返ってしまう。 my_model = Model.find(123) my_model.sale_info_before_type_cast # Returns

    shibukk
    shibukk 2017/02/16
    助かりました!