プロジェクト進行中、実プログラムを書き始める前に | 熱脳しゃちょのブログ

熱脳しゃちょのブログ

おせっかい焼SE兼プログラマ兼……の辛い日々と、思う事なぞ

各々のマシンローカルで動作させられるような仕組みをDockerComposeなりでまず作っておくのはマスト。

サービスのWellknownPortではなく、ずらして設定しておくと、緊急事態の時にバタバタしないですむ。

 

開発部分は、任意にバイパスできるようにしておくべき(DI使うっていうんなら、すげ替えられる実装を先にしておくべき。フラグで切り替えるんだろ? DI使えるっていうんなら、それくらい常識だろ? ってか、そのためのDIだって知ってるよな?)。

認証周りを外部のサービスに依存してて、その実装部分が頻繁に仕様変更されるものだから、業務開始からエラーが発生して開発が滞る(で、当人は大幅に遅刻して出社)ってのを何度も体験すると、日常的に殺意が溢れてしまう。

 

この辺りは、自動テストでも必要になることだから、真っ先にやっておかなければならないタスクだ。

少なくとも、自分がやるプロジェクトで、これを最初に積まなかったタスクはない。

 

にもかかわらず、「サービス完成してから自動テストの環境作ってぇ……」とか言って、マージが表面的にしか成功してなくて、破壊的なバージョンが本番環境にUpされてもなお、「まだ自動テストいらないでしょ」とかいう現場はもう二度と入りたくない。

 

TestDrivenDevelopmentってさ……。

っていうOJT上がりの技術者がいるけど、「テストできるようにシステムを組んでおかなきゃ、テストできないんだよ」というとても単純な話が理解できてない。