タグ

qiitaとprogrammingに関するstibbarのブックマーク (7)

  • 「ADT, 直和・直積, State Machine」 - Qiita

    そして以下の仕様をご確認ください。 Business Rule: “A contact must have an email or a postal address” 出典と動機、課題 上掲コード及び仕様はDesigning with types: Making illegal states unrepresentable | F# for fun and profitより引用しています。はっきりいって記事はこの“Designing with types”シリーズのさわり紹介みたいなもんです。原典を読めでもいいのですが、以下の動機により自分でも言語化してみることにしました。(ただ、**原典は読め。**超良いです。) Elmなどの関数型言語を推している勢として、代数的データ型、特に直和型という存在に戸惑う初学者がどうも多そうに見える。ので、解説を試みたい それらの言語では、(特に静的型付け

    「ADT, 直和・直積, State Machine」 - Qiita
  • 真偽値を返す関数のネーミング - Qiita

    みんな exists を使ってます。 納得できようができまいが、exists なのです。 ソフトウェアの世界では、AppleMicrosoftGoogle が黒と言ったら黒です。 黙って従いましょう。 このように、関数名の表現に困ったら、世の中の API を参考にすると良いです。 非ネイティブの我々では思いつかないような的確な表現が見つかることもあります。 関数の名付け方 真偽値を返す関数は if 文で使われることが多いので、頭に if を置いて最もしっくり来る表現が良いと思います。 個人的には、真偽値を返す関数名を考えるときは以下のフォーマットに当てはめるようにしています。 if オブジェクト名 関数名 「項目が選択中だったら」なら "if item is selected" なので関数名は item.isSelected() となります。 同様に「項目が存在したら」なら "

    真偽値を返す関数のネーミング - Qiita
  • 「status vs state」論争に終止符を打つ - Qiita

    イメージ的には以下 State Status 調査内容詳細 以下、上記の結論と理由に至った調査結果をまとめました。 English Stack Exchangeから status vs state 質問は例として、プロジェクト(Project)や物体(Object)においてStateとStatusはどういった違いがあるのかを聞いています。 回答1 In that context, status would refer to the progress of a project, e.g. in testing, in preliminary research, etc. State would refer more to the condition of a project, e.g. green-lighted, cancelled, on hold for financial analy

    「status vs state」論争に終止符を打つ - Qiita
  • 言語の習得やアルゴリズムの学習に最適 オンラインジャッジサイト一覧(2021/12 版) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    言語の習得やアルゴリズムの学習に最適 オンラインジャッジサイト一覧(2021/12 版) - Qiita
  • Go言語の型とreflect

    最近型ではまることがたびたびあったのでまとめてみました。 主に下記についてまとめています。 型とインターフェース 代入のルール 型の変換 型アサーション reflectパッケージの使い方 インターフェースの実装などについては触れていません。 型とインターフェース 名前を持つ型と名前を持たない型 型には名前のある型(named types)とない型(unnamed types)がある。 代入の可否など名前の有無で動作に違いのあるケースがある。 ざっくりいえば、英数字で表されているものが名前のある型、括弧やアスタリスクなどの記号を使って表されている型が名前のない型 名前のある型 下記のようにtypeを使って宣言されている型は名前のある型。

    Go言語の型とreflect
  • 猿でも分かる! Dependency Injection: 依存性の注入 - Qiita

    はじめに アホでもわかるように解説してみるテスト。 あらゆる方向で説明してみる。 大雑把にまとめると「依存していた部分を、外から注入すること」です。 勘違い、間違いが沢山ありそうなので、是非ご指摘を! 登場人物 (用語) 依存性の注入 (日語) Dependency Injection (英語) DI (Dependency Injectionの略語) 依存関係を設定ファイル等で定義してよろしくやってくれる「DIコンテナ」については書いておりません! 何が問題なの? クラス内などで固定化されたものがあると 柔軟性がない テストしにくい 解決方法 「依存している部分を外から注入する」 DIにおける「依存性」と「注入」の意味 依存性 (大雑把に)とあるクラスに、固定の定数、変数、インスタンスが入っちゃっている状態 つまりそのクラスは、その定数、変数、インスタンスに依存している 注入 そのクラ

    猿でも分かる! Dependency Injection: 依存性の注入 - Qiita
  • Naming -名前付け- - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Naming -名前付け- プログラミングで最も重要な技術の一つが、名前付けです。 且つ、センスが問われるものなので、上達は難しいものでもあります。 この記事では、様々な文献から抽出した名前付けに関する情報を雑多にまとめました。 -名前重要- ソフトウェアの設計のアプローチとして、『まず名前から入る』というのは、あまり語られていない秘訣としてもっと広く知られても良いように思います。 まつもとゆきひろ 『プログラマが知るべき97のこと』 コミュニケーションの基礎 名前は、コミュニケーションの基礎となるものです。 私にもあなたにも名前が無け

    Naming -名前付け- - Qiita
  • 1