タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

契約に関するJxckのブックマーク (5)

  • 契約による設計と名前による型づけ, およびオブジェクトの不変性 - 貳佰伍拾陸夜日記

    契約による設計と名前による型づけ 最近, 社内で契約による設計の話が雑談として何度か出ていて, id:hakobe932さんが社内勉強会で紹介していたり, id:shiba_yu36さんがWEB+DB PRESSでSmart::Argsで制約をチェックする記事を書いていたり, 活発な議論になっている. インスタンスのファクトリメソッドとオプショナルな型を組み合わせると事前・事後条件を満たすことが保証できて, id:hakobe932さんの資料で言うところの「要求型」と「保護型」の区別も明確になってよいという話を書こうかとおもっていた. (これはそのうち別で書く.) とはいえ, こんな話はもう言っている人がいるだろうと思ってちょっと調べていて, どういう語句で調べたらいいか考えていた. インスタンスの型からそれを生成したファクトリメソッドが特定できて, それによって事前・事後条件が保証される

    契約による設計と名前による型づけ, およびオブジェクトの不変性 - 貳佰伍拾陸夜日記
    Jxck
    Jxck 2016/09/21
  • 勉強部屋 — 防衛的プログラミングと契約的プログラミングは何が違うのか

    プログラミングとかガジェットとか科学系ニュースとかそんな感じで。プログラミングはC#、WPF、その辺が中心。 あまり意識せずに使い分けていました。自分の感覚では 防衛的プログラミング=入力情報や結果を信用せずに検証しながら動作するプログラミングスタイル。 契約的プログラミング=入出力の正当性を定義・保証するプログラミングスタイ です。 例えば足し算プログラムを作ります。 int Add(int a, int b) { return a + b; } これはバグっています。オーバーフローで不正な結果を返します。 防衛的プログラミングであれば、 int Add(int a, int b) { return cheched(a + b); } C#で書いています。これはオーバーフローを検知して例外を投げています。他にも long Add(int a, int b) { return (long)

    勉強部屋 — 防衛的プログラミングと契約的プログラミングは何が違うのか
    Jxck
    Jxck 2016/09/06
  • ■ - 思い悩むblog 改め Buriに片思い日記

    契約的プログラミング、というものがあります。 その対義ではないですが、防衛的プログラミングというものもあります。 契約的プログラミングとは、プログラムを作る際にある程度の前提を置いて製造する事を言います。 簡単に例を挙げると、ファイルをオープンして中身を読み込み加工して別のファイルに出力する、という単純なプログラムを作る場合、オープンするファイルが存在する事、ファイルの中身が正しいフォーマットで記録されている事、出力先のファイルが既に存在していない事等を前提として、作るのが契約的プログラミングです。 防衛的プログラミングとは、これらの前提を一切信用しません。オープンするファイルがあるかどうか、記録されているフォーマットは正しいか、無事出力出来る状況が整っているか、などを検査する為の機能も合わせて、プログラムを作ります。 どちらが正しいかと簡単に答えを出せるものではありませんが、仮にバグが見

    ■ - 思い悩むblog 改め Buriに片思い日記
  • 契約による設計の紹介 - Hatena Developer Blog

    こんにちは、チーフエンジニアの id:hakobe932 です。 はてなでは毎週、社内技術勉強会を開催しています。先週の勉強会では現在開催中のはてなインターン2016の参加者のみなさんもインターン生も参加して、いっしょに技術交流を行いました。 このエントリでは、そこで発表した、契約による設計の紹介をしたスライドを公開します。 契約による設計はBertrand Meyer氏によるオブジェクト指向入門*1という書籍で紹介されている考え方です。 オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング) 作者: バートランド・メイヤー,酒匂寛出版社/メーカー: 翔泳社発売日: 2007/01/10メディア: 単行(ソフトカバー)購入: 11人 クリック: 307回この商品を含むブログ (130件) を見る 契約による設計で

    契約による設計の紹介 - Hatena Developer Blog
    Jxck
    Jxck 2016/09/01
    先日の例外・エラー・異常の使い分けの話、契約違反(asset) も追加したいかもしれないなぁ。
  • 契約もしていないし働いてもいませんが、お金は払ってください。売り上げ期待していたんですから

    契約もしていないし働いてもいませんが、お金は払ってください。売り上げ期待していたんですから:「訴えてやる!」の前に読む IT訴訟 徹底解説(28)(1/4 ページ) 東京高等裁判所 IT専門委員の細川義洋氏が、IT訴訟事例を例にとり、トラブルの予防策と対処法を解説する連載。今回は多段階契約の落とし穴を解説する。

    契約もしていないし働いてもいませんが、お金は払ってください。売り上げ期待していたんですから
    Jxck
    Jxck 2016/06/20
  • 1