タグ

2019年10月24日のブックマーク (4件)

  • 関心の分離を意識した名前設計で巨大クラスを爆殺する - Qiita

    大量のメソッドを保有し、数千、数万行単位にぶくぶく膨れ上がった巨大クラス。別名「神クラス」とも「大きな泥団子」とも呼ばれる、長大で複雑で、様々なクラスと密結合で極めて変更が困難なアイツ。 そんな巨大クラスの退治に有効な、命名に関する考え方を紹介致します。 解決したい課題、狙う効果 数千、数万行単位の巨大クラスの登場を抑止する。 巨大クラスを爆砕し、小さなクラス群に分割する。 クラス結合度を下げ、影響範囲を小さくすることで保守コストや変更コストを下げる。 ダメな例 例えばECサイトの「商品」を考えてみます。 よくありがちなのは、商品をそのまま「商品クラス」と設計してしまうこと。 単純な商品クラスは、往々にして出品、予約、注文、発送など、様々なユースケースのクラスと結合してしまいがちです。 商品クラス自体も、結合したクラスに関連する知識(ロジック)を持ち始め、どんどん巨大化複雑化していきます。

    関心の分離を意識した名前設計で巨大クラスを爆殺する - Qiita
  • Node.js v13の主な変更点 - 別にしんどくないブログ

    🎉More great news! Node.js 12 to LTS and Node.js 13 is here!🎉 https://t.co/JmDiMlHgmr— Node.js (@nodejs) 2019年10月22日 Node.jsのv12がLTSになり、v13がcurrentとしてリリースされました。 今回はNode.js v13の主な変更点を紹介したいと思います。 ダウンロードは公式ページから行えます。 nodejs.org 以下リリースノートにあるNotable Changesからいくつかピックアップします。 nodejs.org assert (PR: #28263) assert.throws()またはassert.reject()でthrowされたエラーの検証にコンストラクターが使われた場合、throwされたエラーの代わりにAssertionErrorがスロー

    Node.js v13の主な変更点 - 別にしんどくないブログ
  • CDNフル活用でつくる、高速Webアプリ / Using CDN To Improve Web Performance

    CDNフル活用でつくる、高速Webアプリ / Using CDN To Improve Web Performance

    CDNフル活用でつくる、高速Webアプリ / Using CDN To Improve Web Performance
  • インタフェースデザインのお約束

    デジタル製品のデザインに役立つ101の指針。製品のユーザビリティや性能を高める上で必須かつ基のツボ、マスターすれば時間を節約し顧客満足度をアップできるテクニックが101のコンパクトなルールにまとめられています。メッセージが明確で説明もわかりやすいので短時間で気軽に読むことができます。101のルールは、タイポグラフィ、コントロール、カスタマージャーニー、各種要素の統一、UX全般に関わるプラクティスに分類されているのでリファレンス的に読むことも可能です。「よくある落とし穴」を巧みに回避し、自信をもってユーザーのために闘い、すばらしいユーザーエクスペリエンスを提供するプロへと成長させてくれる一冊です。 ●翻訳者による「日語版のサポートページ」。 ●日語版独自の8つの追加ルールが収録された「訳者あとがき」のPDF(6MB)。 というわけで、この長すぎる「訳者あとがき」では、原著者があげなかっ

    インタフェースデザインのお約束