Change Risk Anti-Patterns (CRAP) Index
またPHPUnitの話題だけれども、CRAPインデックス。
コードの複雑性を評価したもので、でかいほどヤバい(悪い意味で)。
で、これの大きいメソッドをコードカバレッジのダッシュボードから見ることができるんだけれども、実際見てみたら、触れたくないカオスなコードが…。
気合いのあるときになんとかしよう。
またPHPUnitの話題だけれども、CRAPインデックス。
コードの複雑性を評価したもので、でかいほどヤバい(悪い意味で)。
で、これの大きいメソッドをコードカバレッジのダッシュボードから見ることができるんだけれども、実際見てみたら、触れたくないカオスなコードが…。
気合いのあるときになんとかしよう。
内部構造リニューアル終わりました!!!!
やったこととしては、以下の通り。
リリースして、実際にちゃんと動いているのも確認できました。
PHPUnitによる自動テストと、元の機能がつぶれていないか確かめる独自の自動結合テストもやっていたので、間違いはないはずなんですが、実際にリリースするまではやっぱりヒヤヒヤしましたね。
なんと言っても普段やっているのと比べて明らかに大きい変更でしたからね。
さて、本当のスタートはここからです。
ここしばらくやっていた内部構造リニューアルは、これまでの機能を潰さない書き換えで、編集画面をまともにした以外は、めぼしい新機能などなかったのです。
本当にやりたかったのは、言うまでもなく、新機能の実装。
見通しが悪く筋の通っていなかったコードのままでは、新機能を実装しても厄介な問題を生むだけというのは目に見えていたので、内部構造を一新したのです。
今まで弱かった、職業関連の情報とか、錬金釜や交換アイテムなど、充実させていきたいですね。
ローカル環境で作ったComposer環境をそのままサーバーにアップするのはやめて、ローカルはローカル、サーバーはサーバーで別個にComposer環境を作ることにしました。
ローカルはPHPUnitつきで、サーバーは--no-devで。
今更ながら、導入してみました。
ちゃんとしたテストはまだ作っていないですが、お試しでちょっとしたサンプルコード的なものを仮に作っておきました。
サイト全体に適用するのはさすがに無理があるので、これから作る部分から順次作っていくことになりそうです。
テンの日。
あと、ァォィョッュもバトエンのクエストをクリアして、全員バトエンできるようになりました。