エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

2021/09/27週 気づきと振り返り 静的コード解析はボッチの強い味方

業務こなしての問題・気づき

開発後の工程によるドキュメントの理解

書いてあることで100%理解できるドキュメントって、かなり難しいのではないかと感じている。
挙動と合わせて読みすすめないと厳しいと正しく読み込めているか、怪しいと思った。

かなり信頼できるところでは無い限り、ドキュメントの記述と挙動が一致しているか確認する必要があると感じる。
製品として出されたものは、ある程度信頼できるが、開発してテスト前とかテスト中だと、ドキュメントに100%の信頼を寄せるのは危険だと思う。
信じないわけではないが、挙動とセットで信頼にたるものか判断する対応が必要だとは思った。 ※修正対象範囲外についての話

見つけた役立ちそうなサイト

gitのMerge済みローカルブランチを削除

gitのMerge済みローカルブランチを削除する - andooown's blog

gitの不要なブランチが溜まってきたので、簡単かつ安全にブランチ削除する手段はないものかと探したときに遭遇。

確認というステップがあるので、誤削除少なそうだと思いました。

趣味での開発の雑記

sonarcloud

sonarqubeを導入しようと思ったが、環境構築が面倒だな~と思って調べていたら、sonarcloudなるものを見つけた。 パブリックリポジトリなら、無料だったので利用するように対応した。
自分は、githubから連携して利用するようにした。
プルリクエスト作成時にGithubActionsで、修正箇所についてコード解析するようにしてある。
あと、ローカルでも確認できるように、sonarcloudに解析依頼するgradleのタスクを作った。

解析した結果、ほとんどbugがなくて、さすが俺と思った。
普通に開発するよりは、自信がつくので、開発能力が疑心暗鬼な人、能力に自信がない人は、導入を検討したほうがいいと感じた。
あと、レビューしてくれる人がいないぼっちには、最適なツールだと思う。

使っていて思ったのは、解析結果の対応をどうやってやっていくか、いい案が思いつかなかった。
現状は、手動でissueを作って対応のブランチ作って、マージしている。

プルリクエスト作成時のsonarの解析は、少し時間がかかるので、もう少し短縮できないか、検討の余地はありそう。
なんか、余計なものが実行されている気がする。。。
githubActions不慣れなのが、要因としてありそう。。。

おかしな実装の発見

sonarcloudで解析した結果を見ていたら、何をしているのか意味不明なコードがあった。

具体的に言うと s.indexOf(s) < 0みたいなコード。
俺も、何をしたいのかよく分からんかった。。。
自分が作ったはずなんだが、記憶にない。
たぶん、何かのタイプミスだと思うのだが。。。

変な実装でも、ちゃんと抽出してくれるのは、使っていてありがたかった。

overviewでの表示

なんか、ランク付けされるんだな。
"A"とか"E"とかあるから、パワプロみたいだなって感じた。
"S"があると狙ってしまうのだが、表示の切り替えってできるのだろうか?

今後していきたいこと

リポジトリに複数言語のソースがあるのだが、解析できるのだろうか?
現状、Javaしか解析してないけど、HTML/Typescriptあたりも解析できるようにしたい。

その他雑記

料理

最近、在宅勤務が終わったので、あんまりできていない。。。
会社が弁当配達のサービスを契約してるので、昼はそれを利用して、食が偏らないようにしている。
たぶん、コンビニ弁当食べるようにしたら、油ものに偏る気がするんだよね。。。
コンビニ弁当って、油もの多すぎだろって思う。

在宅勤務

在宅勤務が終わって1ヶ月たったが、超辛い。。。
出勤って、何も対価がないのっておかしくない?って思い始めた。
メリット何も無いよな~って感じるのだが、何かある?
美人を眺めるくらいしかメリットがない。
しかし、美人がいるのは極稀なので、ほとんどデメリットだな。