2019-01-01から1ヶ月間の記事一覧

実践で学ぶオブジェクト指向④ 効果的なテストを行う

今回はテストについて考えたいと思います。 『オブジェクト指向設計 実践ガイド』の9章の部分です。 なぜテストを書くのか 変更可能なコードを書くための3つのスキル オブジェクト指向設計への理解 リファクタリングの能力 リファクタリングとは「ソフトウェ…

実践で学ぶオブジェクト指向③ メソッドの粒度

メソッドを小さく分ける 前回のコードには問題が残っています。Judgeが本来の責任に加え、処理分岐の知識を持ってしまっていることです。 これは良くないので、分岐に関する知識をGame_Masterに戻しましょう。以下のようになります。 def open(card_id) if c…

実践で学ぶオブジェクト指向② if分岐のネスト/デメテルの法則

繰り返されるif分岐 今回はまず、GameMasterクラスのopenメソッドについて考えてみようと思います。 このメソッドはアプリケーションの中で一番行数が多く、まず着手すべき部分であることは自分でもすぐに分かりました。 以下が現状のコードです。

実践で学ぶオブジェクト指向① 神経衰弱ゲームを設計する

「理解していない」という事実を分かってなかった…… 自分が今までオブジェクト指向設計を全く考慮せず、不安定なrubyの知識の上でMVCを理解しないままアプリケーションを積み上げていた、という衝撃の事実を先週知りました。 「コントローラーに処理を全部書…

test-utilsでVueのテストを書きたい②

webpack.config.jsの書き方が分かってとりあえずテストが動いた! webpack.config.js const ExtractTextPlugin = require("extract-text-webpack-plugin") const VueLoaderPlugin = require('vue-loader/lib/plugin') module.exports = { mode: 'development…

test-utilsでVueのテストを書きたい①

Vue.jsのテストもやらねばと思って色々やってみたがなかなか進まない。 test-utilsってVue.jsの公式テストライブラリを使ってみたんだけど、 WEBPACK Failed to compile with 1 error(s) Error in ./app/javascript/router-view/zip-code.vue?vue&type=style…

Promiseの基本

Promiseとは 非同期処理を抽象化したオブジェクトとそれを操作する仕組みのことを指す。 Javascriptの概念ではなく、プログラミング言語におけるデザインの一種。 JSにおける非同期処理にはコールバック関数を利用するものもあるが、Promiseは非同期に対して…

並列処理/並行処理とか同期処理/非同期処理について

プロセス プログラムの実行単位のこと。リソースを共有しない固有のメモリ空間を持つ。 スレッド プロセスの実行単位のこと。リソースを共有する共通のメモリ空間を持つ。 シングルスレッド 処理の流れが一つのみ マルチスレッド 二つ以上の処理が同時に実行…

Vuexのストアをモジュールに分割する

Vuexストアのモジュール分割を試したのでまとめる。