見つけた時に逐次エントリしている「プログラミング原則」カテゴリの一覧です。不定期に追加しています。プログラミング一般デメテルの法則DRY原則YAGNIKISS原則OAOOUNIX哲学可逆性曳光弾直交性契約による設計 DbCプログラマの三大美徳PIEの原則SLAPパフォーマンスチューニングの格言驚き最小の原則オブジェクト指向プログラミングパルナスの規則抽象データ型サブタイプ求めるな、命じよコマンドとクエリ分離原則オブジェクト指向設計パターン言語生成・使用分離の原則パターンの定義IOP
見つけた時に逐次エントリしている「プログラミング原則」カテゴリの一覧です。不定期に追加しています。プログラミング一般デメテルの法則DRY原則YAGNIKISS原則OAOOUNIX哲学可逆性曳光弾直交性契約による設計 DbCプログラマの三大美徳PIEの原則SLAPパフォーマンスチューニングの格言驚き最小の原則オブジェクト指向プログラミングパルナスの規則抽象データ型サブタイプ求めるな、命じよコマンドとクエリ分離原則オブジェクト指向設計パターン言語生成・使用分離の原則パターンの定義IOP
テスト駆動開発(TDD)をやってみたいけど最初の一歩がなかなか踏み出せないという人が少なくないようだ。あまり形式張らずに出来るところから少しずつでも挑んでいくのがコツだと思うのだけど、教科書に出てくる「正しいやり方」に躊躇してしまうケースがあるらしい。そんな訳で、今回は我流のテスト駆動開発方法を紹介してみたい。 テスト戦略を決める 制限のある開発期間内に効率的にテストコードを作る必要がある以上、何を目標として何処までをテストすべきか目標を決めておくことは欠かせない。もちろん、カバレッジ100%のコード作成は望ましいものの、異常系を含めてそこまでの網羅率を実現するのは難しいことが多いし、GUI処理は時間をかけてマクロを作るより人間が目視で確認した方が手っ取り早かったりする。費用対効果を考えて、もっとも効果の大きい箇所を重点的にテストコードでカバーすることを考えたい。 テストコードは後付け 由
(遅ればせながら)「テスト駆動開発」にチャレンジします。オブジェクト指向設計・実装の「速度」「精度」を改善するのが目的です。その道程の中で(本ブログメインテーマの「オブジェクト指向」とは関係ないですし、かつ直接「テスト駆動開発」にも関係ありませんが、実装速度という目的において)「Eclipseショートカット」を覚えてしまいたいので、これをまとめておきます。書籍にもネットにも情報が多く、感謝です m(_ _)mEclipseショートカット・作成Eclipseショートカット・編集Eclipseショートカット・補完 Eclipseショートカット・テストEclipseショートカット・リファクタリングEclipseショートカット・移動・ファイル内 Eclipseショートカット・移動・ファイル間 Eclipseショートカット・移動・ワークベンチEclipseショートカット・実行 Eclipseショート
ケント・ベック師の著書で、TDDの教科書「テスト駆動開発入門」の「Part3 テスト駆動開発のためのパターン」をまとめ、「TDDの戦略」「TDDの定石」「TDDのプラクティス」を身につけます。はじめにファーストステップテスト駆動開発のパターンテスト方法の詳細の前の、基本的な戦略に関するパターンです。「テストすることは何を意味するのか」「いつテストするのか」「テストするロジックをどのように選択するのか」「テストするデータをどのように選択するのか」を吟味します。Test(テスト)Isolated Test(独立したテスト)Test List(テストリスト)Test First(テストファースト)Assert First(アサートファースト)Test Data(テストデータ)Evident Data(明示的データ)レッドバーに関するパターンテスト作成を開始するタイミング、テストを作成する場所、テ
まとめ記事を書いた本の一覧です。まとめ記事の内容も、簡単に説明しています。一覧出典本まとめ記事オブジェクト指向設計原則パッケージ設計の原則オブジェクト指向を効果的に活用するための、クラス設計の原則についてまとめています。(SOLID原則) また、クラスレベルだけでなく、パッケージレベルの原則についてもまとめています。GRASPパターンオブジェクト指向設計の基本は「適切なクラスに適切な責任を割り当てること」です。この指針である「GRASP」についてまとめています。構造化プログラミング構造化プログラミングのエッセンスについてまとめています。 パラダイムが異なっても(=オブジェクト指向でも)通用する・適用できる考え方です。 GoFのデザインパターンGoFのデザインパターンを全てまとめています。 各パターンのまとめ後、「なんでこんなことするのか?」「こうするとどういう効果がうまれるのか」を考察して
Problemこのクラスは大きすぎて、もうこれ以上大きくしたくありません。「単一責務の原則」を適用してクラスを分割しようと思います。分割の具体的な方法がわかりません。Strategy「クラスの抽出」を適用します。どんなとき?「単一責務の原則」を適用してクラスを分割しようと思います。責務を把握したので、分割の実装を行いますが、具体的な方法がわかりません。どうする?「クラスの抽出」リファクタリングを適用します。ほとんどのレガシーシステムにおいて、最初にできることは、「実装レベル」で単一責務の原則を適用することです。つまり、大きなクラスから「クラスの抽出」をして、抽出クラスに委譲することです。「インタフェースレベル」で単一責務の原則を導入するには、より多くの作業が必要です。クラスの呼び出し側を変更しなければならず、テストも必要になります。まず、実装レベルで単一責務の原則を導入しておくと、将来イン
2012年8月31日 改訂 本件につきましては、7月29日ごろに問題が公表されてから8月20日前後まで、メーカーや公的機関等からの詳細な情報提供がありませんでした。弊社としては、早期の告知を優先し、まずは明らかになっている情報を報告させていただいたため、初版のリリース時には脆弱性の影響範囲について過大な評価となる記述となっておりました。 一部のお客様、および関係者の方々よりご指摘をいただき、ご迷惑をおかけしたことをお詫び申し上げます。メーカーからのアドバイザリや追加情報をもとに記載内容を見直しましたため、以下の通り改訂させていただきます。 暗号化通信(VPN)や無線LAN(WPA2)の認証として、一般企業で広く使われているMS-CHAPv2(Microsoft CHAP version 2)というプロトコルに、パスワードが完全に解読されてしまうという脆弱性が発見され、公表されました。 その
子どもが分かっているとき/「穴埋め」させる どうすればいいか/なにをしてはいけないか、大人が思っているよりは、いくらか/ずいぶんと、子どもは分かっていることが多い。 子どもからすると、分かっていることを言われるので、くさる。 しかも大人は、必要以上のことをいろいろ言いがちだ。「××してはいけない」というかわりに、たとえば「××するような奴は……になるぞ」みたいなことを言ったりする。 大人からすると、言っても聞かないから、もっとひどい言い方をしているのだ、ということになる。しかし、言い方をエスカレートしても、効き目はすぐになくなる。さらにもっとひどい言い方をしたくなる。 「穴埋め」とは何か? 人は、他人に言われたことよりも、自ら口に出したことにコントロールされる。 「叱る」内容を、子ども自身に言わせる方法なんてあるのだろうか? 手はいくつかある。 「わざと間違える」というのがわかりやすいが、
問いを作ることは、最も基幹的な知的リテラシーである。 問う力を養うためには数をこなすしかないが、スポーツでいうところの「素振り」に相当するものがあり、実践に向けて問う力の維持・向上に役立てることができる。 いうまでもなく自問自答することだ。 これは、質問の質を高め、思考する力を向上させることのできる数少ないトレーニング方法でもある。 以下に示すのは、自問自答に使える問いの型である。 自覚的に使うことで、問いの型稽古を行うことができる。 思考を深めたり、問題解決を助けたりするのにも用いることができる。 決断する 「それをするメリットは何か?」 「それをしないメリットは何か?」 「それをするデメリットは何か?」 「それをしないデメリットは何か?」 「するのか?しないのか?」 望みをかなえる 「ほしいものは何か?」 「今持っているものは何か?」 「今持っているものをどう使えば、ほしいものは手に入
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く