と最近よく思います。ただの日記です。

最近仕事ではRedmineと開発環境(CI/CDとか)のお守りとかが半分くらいで残りの半分くらいは不具合修正をやってます。前職のソースコードに比べたらかなりキレイだと思いますし、実際そうなんです。特にデータベースのテーブル設計とかはそこそこちゃんとできてると思うんですよ。(コードじゃないですし、データベース周りもそんなこと言えるだけのレベルではなかったりするんですが、前職のがひどすぎたので…)

ただ、よくよく見ると結構いらないコードがあったり「アレ?コレおかしくね?」っていうコードとかあったりするんですね。というか、最近対応している部分でそういったのが多い(今まで対応してる部分ではあまりなかった)んですよ。で、こういったコードって、だいたい複雑でどう修正するべきかスッゲー迷うんですよ。あるべき姿じゃないなって直感的には解るんですけど、どう直していいかわかんないんですよ…。中にはテーブル設計がちょっとアレとかいうのもあるんですが、今回はそういうのは置いておいて、純粋にコードだけでリファクタリングかけれそうな部分でどうやったらいいかわからないという…。マシにはできるんですけど、ホントにそれでいいのかわからない。

プライベートでもここ2ヶ月くらいGitBucketのプラグインをScala初挑戦で作ってたのですが、ま~迷う迷う。リリース前にガッツリ作り直した結果、初リリース前に130コミットくらいになってしまったのですが、作り直したものもそれでいいのか解らない。もちろん、GitBucketの本体のコードとか他のプラグインのコードも参考にしました。もちろん、中には「コレ!参考になるやん!」ってのはあったりするんですけど、自分のコードに丸々適用できるわけでもないですし、やっぱりコードのデザインの部分って非常に難しいなって。

インフラとか開発環境周りだと、だいたいこうすればできるってのがあらかじめ目途がついてますし、最近のはある程度自動で連携できますし、できなくても間にシェルスクリプトとか挟めば済むんですが…。別にインフラを軽視しているとかそんなつもりは全くないですし、私自身触ることも多いんですが、インフラとか開発環境周りは変えるときはガバっと変えないといけないので、準備だけしておいてガバっと変えてしまえば済むのですが…。コードの方はそうはいかなくて…セオリー的なものもないですし…元あるものに影響を出してはいけないし…個人の技量がモロにでてきてしまう部分だなぁ…って…

設計に関しては以前よりだいぶマシにはなってきたかな…とは思うんですけど、またもや壁にぶつかってしまってるような感じです。ひたすらコードを読んで、書いてするしかないのかな…って思ったり思ったりしながら、難しいなぁ…と思ってます。「マジつれえわ…」

で、まあ、そうこう考えてるうちに、新規開発で隣からyarnとかSassとか使うとか聞こえてきて、フロントエンドほとんどタッチしてないので「やべえわ…マジつれえわ…」で「やべえわ…マジつれえわ…」の2乗みたいな感じです。でもそれはそれでやりがいがあって楽しいと思ったりもしたりして…。そんな感じ。そんな感じです。