[フレーム]
はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできます コメント表示の設定

ブックマークしました

ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

252users がブックマーク コメント 24

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

操作より状態・性質に着目する

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

はてなブックマーク

はてなブックマークで
関心をシェアしよう

みんなの興味と感想が集まることで
新しい発見や、深堀りがもっと楽しく

ユーザー登録

アカウントをお持ちの方はログインページ

記事へのコメント24

  • 注目コメント
  • 新着コメント
fuji_haruka
これは重要な話。「事前条件•事後条件」は契約による設計のそれと意味が違ってシステムやデータベースがもつ状態を表しているので「事前状態•事後状態」のように変えたらいいかも。

その他
bouzuya
記事の主張は良いと思う一方で、業務は操作で設計されていることが多く、操作の方がユーザーに理解されやすい......みたいな話もあるとは思う。

その他
lunaphilia
伝えたいことはいいことを言ってると思うものの、そうすることで何が良くて、そうしないとどんな悪いことが起こるのかがこの例だとイメージ難しいような気がする

その他
strawberryhunter
深夜で長文すぎて読めない。 状態--(操作)-->状態 こういう図を出して説明した方がいい。状態を持つオブジェクトもワークフローもステータス遷移も全部これ。逆に文章だけで説明しようとしてるのがすごいわ。

その他
trickart412
操作より状態が先、よりも仕様が先では?(そんな曖昧な仕様を独断で実装するなという)

その他
gfx
なるほどよさそう、宣言的UIとかそうだもんな、とは思いつつ、あまり具体的なイメージをつかめなかった。宣言的UIでもmutationは命令的だし...。

その他
atico
関連レコードの注文情報等は削除できないから、退会時にuserレコードは削除せず、無効化するが、その際に個人情報保護もありEmailも消すので、再入会は問題ない。Emailがあって無効化状態があるのは気持ち悪くない?

その他
cyph
これは堅牢だが美しいコードではないはず。状態遷移はコードに表れない(表すと冗長で柔軟性を失う)プログラムの本質ではある。

その他
yojik
プログラムレベルで状態を排除しても、システム全体は状態からは逃れられない / 例題は事前事後以前に、ユーザの一意性やメアドの重複をどう考えるかいった不変条件もしくはモデルの視点が足りてない気がする。

その他
monorod
直接DOMをいじってグチャグチャにしてたjQuery時代に現れたreactの話に通じるものを感じた。結局手続き的な記述で複雑なシステムを表現するには限界があるんだよね

その他
chinpokomon_master
言い方が下手すぎてCTO向いてない。

その他
tg30yen
両者のコード例が欲しかった。

その他
yojik
yojik プログラムレベルで状態を排除しても、システム全体は状態からは逃れられない / 例題は事前事後以前に、ユーザの一意性やメアドの重複をどう考えるかいった不変条件もしくはモデルの視点が足りてない気がする。

2025年09月02日 リンク

その他
yash268925
筆者の注釈にもあるが、この話はUI以前の話と思う。要件→操作(しばしばUIが絡む)でなく、要件→状態(データ構造)→表現(UI)ないし操作(mutation)という順序。

その他
pmint
この投稿者自身の「成功すれば」もダメなif文。例えば、削除しようとしたファイルがすでになかった場合、WindowsのDELは「削除できません」と警告を出し、UNIX系のrmは何も返さない。アサーションを書くにも必要な観点。

その他
lycolia
何かの処理を作るときに設計の前に要件を定義しようって話?要件がなければinsertするだけになる気はする(それで破綻するかどうかは企画者の責任だし、FBするにも後手になるのは仕方ない気が)

その他
hagane
Immutable Data Modelとの整合を考えたい

その他
razokulover
関数の考え方だ

その他
ihirokyx
処理前の状態と処理後の状態をまず考える

その他
cyph
cyph これは堅牢だが美しいコードではないはず。状態遷移はコードに表れない(表すと冗長で柔軟性を失う)プログラムの本質ではある。

2025年09月02日 リンク

その他
gfx
gfx なるほどよさそう、宣言的UIとかそうだもんな、とは思いつつ、あまり具体的なイメージをつかめなかった。宣言的UIでもmutationは命令的だし...。

2025年09月02日 リンク

その他
bouzuya
bouzuya 記事の主張は良いと思う一方で、業務は操作で設計されていることが多く、操作の方がユーザーに理解されやすい......みたいな話もあるとは思う。

2025年09月02日 リンク

その他
tk_musik
必要な操作(関数)を洗い出すタイミングと、操作のIFを考えるタイミングと、操作の動作を考えるタイミングとで、おそらく後者2つの前にやることかな。実際は頻繁に行き来するので、都度先に状態を、な気がした。

その他
fuji_haruka
fuji_haruka これは重要な話。「事前条件•事後条件」は契約による設計のそれと意味が違ってシステムやデータベースがもつ状態を表しているので「事前状態•事後状態」のように変えたらいいかも。

2025年09月02日 リンク

その他
incubator
なるほど?

その他
atico
atico 関連レコードの注文情報等は削除できないから、退会時にuserレコードは削除せず、無効化するが、その際に個人情報保護もありEmailも消すので、再入会は問題ない。Emailがあって無効化状態があるのは気持ち悪くない?

2025年09月02日 リンク

その他
lunaphilia
lunaphilia 伝えたいことはいいことを言ってると思うものの、そうすることで何が良くて、そうしないとどんな悪いことが起こるのかがこの例だとイメージ難しいような気がする

2025年09月02日 リンク

その他
strawberryhunter
strawberryhunter 深夜で長文すぎて読めない。 状態--(操作)-->状態 こういう図を出して説明した方がいい。状態を持つオブジェクトもワークフローもステータス遷移も全部これ。逆に文章だけで説明しようとしてるのがすごいわ。

2025年09月02日 リンク

その他
monorod
monorod 直接DOMをいじってグチャグチャにしてたjQuery時代に現れたreactの話に通じるものを感じた。結局手続き的な記述で複雑なシステムを表現するには限界があるんだよね

2025年09月02日 リンク

その他
sakuro
id:turanukimaru そういえば卒論発表の時、審査の先生が質疑でOOのことを「対象指向」って言ってたのを思い出したのであった。

その他
trickart412
trickart412 操作より状態が先、よりも仕様が先では?(そんな曖昧な仕様を独断で実装するなという)

2025年09月02日 リンク

その他
turanukimaru
なぜ日本人は状態や性質を持つ「対象」の話をしないのか?「対象を操作し対象が変わる」「対象により操作の意味が変わる」のに誰も対象の話をしない。だからお前らはオブジェクト指向が分からないと言われるんだよ!

その他
Windymelt
良い記事

その他
dorapon2000
"状態を制御するということは、セキュア・バイ・デザイン 安全なソフトウェア設計 などでも述べられているように、考え方としては一般的です。しかし、状態の制御を操作の制御より優先度高く考えようとしている人"

その他

注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

リンクを埋め込む

以下のコードをコピーしてサイトに埋め込むことができます

プレビュー
アプリのスクリーンショット
いまの話題をアプリでチェック!
  • バナー広告なし
  • ミュート機能あり
  • ダークモード搭載
アプリをダウンロード

関連記事

usersに達しました!

さんが1番目にブックマークした記事「操作より状態・性...」が注目されています。

気持ちをシェアしよう

ツイートする

操作より状態・性質に着目する

この記事は、「KNOWLEDGE WORK Blog Sprint」第1日目の記事になります。 mayah です。株式会社ナレッジ... この記事は、「KNOWLEDGE WORK Blog Sprint」第1日目の記事になります。 mayah です。株式会社ナレッジワークでは創業時より CTO をしています。開発ではプロダクト全体のアーキテクトをやっていることが多いです。普段からメンバーたちが書く Design Document やコードのレビューをする機会も多く、コードレビューだけでも月 200〜300 PR ぐらいは見ています。 さて、美しく堅牢なコードを書く上で、一握りのソフトウェアエンジニアは自然に習慣としていることで、多数のソフトウェアエンジニアは全く考えていない(もしかしたら一度も考えたことすらない)ように見えていることが1つあり、日はその話をしたいと思います。 それは、操作よりも状態・性質に注目してコードを書くという習慣です。 ここでいう操作とは、インプットからアウトプットを計算したり、なんらかのオブジェク

ブックマークしたユーザー

  • esuji52025年09月23日 esuji5
  • knj29182025年09月14日 knj2918
  • kyo_ago2025年09月09日 kyo_ago
  • soh3352025年09月09日 soh335
  • ryskosn2025年09月03日 ryskosn
  • Toge2025年09月03日 Toge
  • chinpokomon_master2025年09月03日 chinpokomon_master
  • kamada-math2025年09月03日 kamada-math
  • ayoshh2025年09月03日 ayoshh
  • hush_in2025年09月03日 hush_in
  • midas365452025年09月03日 midas36545
  • ugo_uozumi2025年09月03日 ugo_uozumi
  • uoz2025年09月02日 uoz
  • h_notsu2025年09月02日 h_notsu
  • uniom2025年09月02日 uniom
  • kyaido2025年09月02日 kyaido
  • tg30yen2025年09月02日 tg30yen
  • keisuke2142025年09月02日 keisuke214
すべてのユーザーの
詳細を表示します

ブックマークしたすべてのユーザー

同じサイトの新着

同じサイトの新着をもっと読む

いま人気の記事

いま人気の記事をもっと読む

いま人気の記事 - テクノロジー

いま人気の記事 - テクノロジーをもっと読む

新着記事 - テクノロジー

新着記事 - テクノロジーをもっと読む

同時期にブックマークされた記事

いま人気の記事 - 企業メディア

企業メディアをもっと読む

はてなブックマーク

公式Twitter

はてなのサービス

Copyright © 2005-2025 Hatena. All Rights Reserved.
設定を変更しましたx

AltStyle によって変換されたページ (->オリジナル) /