タグ

classとstyleに関するkiyo_hikoのブックマーク (3)

  • オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena

    「オブジェクト指向するとプログラムが読めなくなるから禁止」のような話は昔からあって、新しい技術についてこれない人を揶揄するようなニュアンスで使われていましたが、実際にはこれはオブジェクト指向迷路にうんざりした現場での率直な意見だと思います。 オブジェクト指向は、まじめにやるほどプログラムを読みにくくするという性質をもっています。 ※ 使い方次第というコメントついてますが、だからこそちゃんと性質をしっておく必要があると思います。 オブジェクト指向の代表的な指針を3つあげると次のようなものがあります。 オブジェクト同士の連携としてプログラムを組む 単一責務の原則 インタフェースと実装の分離 まず、オブジェクト同士の連携でプログラムを組むと、コードが飛びまくって追いにくくなります。そして単一責務の原則により、小さいクラスが大量に生成されて、追いにくさがさらにあがっていきます。 ダイクストラ先生が

    オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena
  • 新人コーダーに知っておいて欲しい命名規則の考え方[画像・ID・class名]|クロノドライブ

    新人コーダーが迷いやすいと言われている、ファイル名、id・class名の付け方。 この記事では、それぞれの命名規則やコツについてまとめたいと思います。 少しでも皆様の参考となれば幸いです。 共通事項 ファイル名、id・class名を付ける際の注意点 まず始めに、ファイル名、id・class名を付ける際の注意点から確認していきます。 難しいことはありません。 下記に注意して名前を付けるようにましょう。 1.半角英数字のみを使用する。 「日語」、「全角英数字・記号」、「半角カタカナ」は使用することが出来ません。 2.記号は「-」(ハイフン)、「_」(アンダースコア)のみ使用する。 「\」(エンマーク)、「/」(スラッシュ)、「:」(コロン)、「*」(アスタリスク)、「?」(クエスチョン)、「”」(ダブルクォーテーション)、「<」(左アングルかっこ)、「>」(右アングルかっこ)、「|」(パイプ

    新人コーダーに知っておいて欲しい命名規則の考え方[画像・ID・class名]|クロノドライブ
  • Structクラスを継承してはいけない(戒め - Bye Bye Moore

    以前書いたStructで構造体なデータを扱う - Bye Bye Mooreという記事で class Point < Struct.new(:x, :y) def +(other_object) Point.new(x + other_object.x, y + other_object.y) end end とか書いていました。 が、公式リファレンスには 無名クラスのサブ クラスを作成する方法でカスタマイズする場合は無名クラスが使用されなくなっ てしまうことがあるためです。 との記述があり上記の方法は推奨されません。 どうしても拡張する必要がある場合 Point = Struct.new(:x,:y) do def +(other_object) Point.new(x + other_object.x, y + other_object.y) end end としてあげるのがよいです。

    Structクラスを継承してはいけない(戒め - Bye Bye Moore
    kiyo_hiko
    kiyo_hiko 2016/01/28
    Clazz < Struct.new(:attribute); def method() ... end; end ではなく Clazz = Struct.new(:attribute) do; def method() ... end; end な感じがいいという話
  • 1