タグ

考え方と設計に関するsds-pageのブックマーク (9)

  • 「オブジェクト指向神話からの脱却」という特集をWEB+DB PRESSで書きました - きしだのHatena

    「オブジェクト指向神話からの脱却」というあおり気味タイトルの特集をWEB+DB PRESS vol.132で書きました。 12/24発売!クリスマスプレゼントです WEB+DB PRESS Vol.132 作者:きしだ なおき,加藤 尋樹,斉藤 洸紀,牟田 裕太郎,吉澤 政洋,朝日 リナ,鈴木 僚太(うひょ),川島 義隆,五十嵐 進士,末永 恭正,佐藤 雄太,吉井 健文,牧 大輔,西山 和広,吉田 花春,古川 雅大,岡林 大,池澤 春菜,和田卓人,日高 正博,はまちや2,竹原技術評論社Amazon 大まかには、「オブジェクト」でソフトウェアをぜんぶ考えるということに無理があったので、パーツそれぞれ適したやりかたでやっていこうぜ!という内容です。 ソフトウェアを切り出したときのパーツとしてのオブジェクトの特性が同質であるという暗黙の前提があって、だから「オブジェクトの話をすればソフトウェア開

    「オブジェクト指向神話からの脱却」という特集をWEB+DB PRESSで書きました - きしだのHatena
    sds-page
    sds-page 2022/12/09
    「俺が考えたやり方で全部解決だぜ!」→「他人のやり方に合わせるの我慢ならねぇ!俺の考えた奴こそ最強だぜ!」をずっとやってる感じ。「新手法でカイゼン」神話から脱却したい
  • 型変換やオブジェクト変換の関数/メソッドに対する習慣や知見

    Noriyuki OHKAWA @notogawa データ型Aとその操作を定義しているモジュールX.Y.Aてよく作ると思うけど,型Bと型Aの間の変換操作をX.Y.A内から露出させるときにfromA/toAはやめてくれー.toB/fromBにして欲しい.import X.Y.A as AでA.toB/A.fromBだから. 2016-11-18 09:52:37 Noriyuki OHKAWA @notogawa データ型Aとその操作を定義しているモジュールX.Y.Aてよく作ると思うけど,型Bと型Aの間の変換操作をX.Y.A内から露出させるときにfromA/toAはやめてくれー.toB/fromBにして欲しい.import X.Y.A as AでA.toB/A.fromBだから. 2016-11-18 09:52:37

    型変換やオブジェクト変換の関数/メソッドに対する習慣や知見
    sds-page
    sds-page 2022/02/06
    どっちが基底クラスに近いかで変わる派。マイナーな方がメジャーに合わせる
  • もういい加減「nullチェックをしたら安全」とかわけのわからないことを言うのはやめよう - Qiita

    (僕の主観で)クソな記事をたまたま読んでしまってもにょったので愚痴。 Safe Harbor Statement 以下の事項は個人の見解であり所属する組織の公式見解ではありませんし、明日になったら違うことを思っているかもしれませんがそういう類のものです。 某所で危険と言われていたコード public void hogeMethod(Hoge hoge) { //hogeを使った処理 hoge.doSomething(); return; } 安全な理由: NullPointerExceptionが発生しない 僕がいいたかったこと それ、NPEを握りつぶしているだけですから!!!!!!! (とくにJavaの世界においては)非検査例外というのはコーディングバグを示してくれるものですから、へんなnullチェックをいれるのではなく、積極的にNPEを発生させていきましょう。 こういうわけのわからない

    もういい加減「nullチェックをしたら安全」とかわけのわからないことを言うのはやめよう - Qiita
    sds-page
    sds-page 2017/06/05
    引数として渡された側でチェックするんじゃなくて渡す前にチェックしとけって話かなぁ
  • だんだん開発スピードが遅くなっていくのをどうやってとめたら良かったんだろう? - Mitsuyuki.Shiiba

    先日、モブプロをやってきた。その中で、モブプロとは別で、いくつか感じたことがあって、今日はその中のひとつを思い浮かんだままにメモ。 bufferings.hatenablog.com 要件を満たすプロダクトをより早く出す モブプロでTDDしながら、要件を満たすプロダクトをより早く出すことに集中してみた。例えば、第2ラウンドのお題はTDDBCなどでお馴染みの「自販機」。 「100円を入れてボタンを押すとコーラが1買えること」 最初に「100円を入れてボタンを押すとコーラが1買えること」と言われ。 assertThat(get(100), is("コーラ")); みたいなテストを書いて。 String get(int money) { return "コーラ"; } みたいな実装を書いた。爆速! 「200円を入れてボタンを押すとオレンジジュースが1買えること」 次に「200円を入れてボタ

    だんだん開発スピードが遅くなっていくのをどうやってとめたら良かったんだろう? - Mitsuyuki.Shiiba
    sds-page
    sds-page 2017/06/01
    リリース間際に客に見せたら追加要求てんこ盛りで爆死するヤツ。最初に要件定義をしっかりしておいてプログラムに影響が大きい追加仕様は断るかペナルティとしてガッツリ追加料金を取るしかない
  • 社内Wikiに情報を書くときに守ってほしい、たったひとつのルール - 無印吉澤

    このページについて これは、社内 Wiki に情報を書くときに、私が個人的に守っていて、チームメンバにもできるだけ守ってほしいルールの紹介記事です。このルールを実際に運用するためのコツについても、基ルールの派生という形で紹介します。 想定する環境 この記事は、社内に Wiki があって、フォーマットが決まったドキュメント(仕様書や手順書など)とは別に、各人がメモを自由に書いて共有できるような環境を想定しています。 Wiki の種類は問いません。PukiWiki、MediaWiki、Confluence、Esa、Redmine などのプロジェクト管理ツール付属の Wiki などなど……何でもいいです。Word 文書などにも適用できなくはないですが、文書を気軽に分けるのが難しい場面には、あまり向かないかと思います。 ルール:「このページについて」という欄をページの先頭に用意し、そのページの概

    社内Wikiに情報を書くときに守ってほしい、たったひとつのルール - 無印吉澤
    sds-page
    sds-page 2016/04/26
    これも一種の「コメントを書こう」だよね。「コメントと内容が食い違う」はコメントを書かない言い訳にしてはいけない
  • プログラミングの「抽象化」ってどういう意味で、なぜ必要なのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    <追記>いろいろ反応あってたしかになーって思いましたが、ここで説明されてるのは「汎化」とか「パラメタライズ」としたほうが正しいですね。抽象化というと、一塊の手続きをブラックボックスにして、実装を隠蔽する面のほうが正解に近いです。でもまあそこを差し引いて読んでいただければ、それなりに有用ではある記事だと思うので、このまま残しておきます</追記> プログラミングに限らない話かもしれませんが、ふだんの生活で触れないような概念というのは、一度わかってしまえば便利なんだけど、どうしてもとらえどころがない、というようなことが多いと思います。プログラミングにもそういう概念はたくさんあって、わたしのような凡人は新しい概念にぶち当たるたびに苦労しています。今日はそんな中で「抽象化」という言葉について、「昔の自分にこうやって説明してあげたかったな〜」という説明をします。 プログラミングを学んでいく中で、「とり

    プログラミングの「抽象化」ってどういう意味で、なぜ必要なのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    sds-page
    sds-page 2015/08/05
    仏教ではそれを空即是色と言うな
  • いけてない設計に出会ったときに考えること - hitode909の日記

    どこがいけてないのか? クラス名とか、機能名とか、概念とか、名前があると考えやすくなる まだ名前なかったら新たな抽象が見つかるかもしれない どんな経緯でそうなっているのか 最初は抽象を捕らえられていたのが拡張を繰り返すうちに失われたのか、書かれた当初は単純な仕様だったのが膨れ上がったのか、動けば良いという感じで書かれたのか 今の設計のいいところは? 何か意図や事情があってそうなってるのか、動いてるだけなのか 詳しい人や書いた人に気に入ってるところを聞いても良い みんなどう思ってる? みんなおかしいと思ってるけど手が出せないのか、これでいいと思ってるのか、など雑談して聞いて回る 最高の状態ならどうなってるべき? 正しいモデリングや、すごい技術があったら、どうなるか 鋭い分析によって豊かなドメインを得られたり、リコメンドシステムなら脳波を読み取って直接推薦してくれたり、変なドアで世界中好きな場

    いけてない設計に出会ったときに考えること - hitode909の日記
    sds-page
    sds-page 2015/04/10
    勝手に変更したりしないで元々書いてた人と相談するべき
  • SQLのUPDATE文と履歴系テーブル - mike-neckのブログ

    大したことは書いてありません。 気付いたことのメモ程度です。 『理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus) 』を少し屋で立ち読みしました。(ノットワーキングプアにあえいでいるので立ち読みしかできない(´・ω・`)) このの中で履歴系テーブルの扱い方というのに丸々一章が割り当てられていました。 だいたいこんなことが書かれてたと思う。 「時間軸と直交していない」という点は、履歴テーブルは過去の事実の集合で、データを取得する条件が変われば結果が異なるのは当たり前だと思うんだけども。— enum (@enum) 2015, 3月 16 たしかに、RDBMSでは履歴データというのは相性が悪い。 僕は陸上競技を見るのが好きなので、これのデータモデルをたまに考えたりしています。で、選手の氏名が変わることあるよなーと考えると、こ

    SQLのUPDATE文と履歴系テーブル - mike-neckのブログ
    sds-page
    sds-page 2015/03/25
    消費税率変更前後の単価と金額で集計かけるときとかみんなどうしてるんだろ
  • 論理削除が云々について - mike-neckのブログ

    今日朝イチで見たエントリーがこれでした。 qiita.com 論理削除の弊害は色々なところで言われているけど、僕の足りない頭で理解している所によると、二つの値しか持たない削除フラグ的なものはカーディナリティが云々で検索条件につけても性能上的にもよくないし、意味がないということです。 論理削除を完全に悪だとは言いませんが、論理削除を極力排したい人たちは、基的にデータそのものを削除する、もしくは論理削除というのはまだ要件的に未確定な要素が隠されていることを示すフラグであると考えているようです。 僕がITの業界でキャリアをスタートしてから2年目くらいに配置されたプロジェクトではT字型ER手法というのをベースにしたテーブル設計をしていて、そこでかなり鍛えられたわけですが、その時にはだいたいこのような原則を叩きこまれました。 テーブルに状態を持たせない 究極には機械が認識するキーと、人間にとって意

    論理削除が云々について - mike-neckのブログ
    sds-page
    sds-page 2015/03/25
    テーブル1600個とか管理できる気がしない。適材適所って感じがする
  • 1