dotnet format が動くようになった話
4.12のSDKのアップデートで修繕されました
うれしい☺
dotnet format が動かない話に動きがあった話
dependabotの依存アップデートで除外Projectの設定方法がわからない話
自動生成するようなMock Projectをslnに含めたいが、依存アップデートには含めたくない問題
dependabotの依存アップデートをしたところで、自動生成ツール側が対応してくれないと結局またロールバックしてしまうので、ignoreしたいものの、dependabotのdocを読んでも、あくまでignoreするのはpackageに関する設定のように読める。
archiveされたProjectではあるものの、基本的にはslnに含めているなら依存アップデートを行うのがWayのように読める
なるほど、そりゃそうだろうなあという気持ち。 一方で、自動生成ツールでのMoq Api生成等を行っている場合、ローカルでのdebuggingは、Multi Startup構成等で行えるようにしておきたい欲もある。
ひとまず推移的な依存の依存元を複数設定書くようにした
下記を見る限り、Projectsというよりは複数設定を書くべしなWayのよう。 github.com
一方でdotnetは推移的な依存については、勝手に参照見てくれるようなので、test Projectがあるものについてはtestを依存アップデートに設定しておけば大体事足りるように見えている。
完全に雰囲気でやっているので、時間をとれたらまた改めて整理してみる予定。
VisualStudio2022のテストエクスプローラーがうまく駆動しなかった場合の修繕
普段VisualStudio2022でテスト実行をしている勢が、テストエクスプローラーがうまく動かない問題に遭遇した話
尚、お昼の仕事をしているときに出てきた現象なので残念ながら文字のみでお送りする。
前提条件
xUnit ASP.NET Core Mvc 6 VisualStudio2022 Pro
まずは dotnet test を叩いてみる
テスト自体は普通に動く模様。
出力ウインドウでテストからの出力を確認する
Microsoft.VisualStudio.LiveShare のマニフェスト定義が参照に一致しない 旨のエラーが出てきた。
拡張機能の更新を行う
VisualStudio2022の、[ 拡張機能 ] => [ 拡張機能の管理 ] => Live Share 2022 の更新を選択することで対応可能。
感想
若干ワークアラウンド感があるので、覚えとかなきゃなという気持ち。
命名:IsExistsを考える
IsExists多すぎ問題
昼の仕事でIsExists...というメソッド名を目にする機会があった。
気持ちはわかるものの、Existは動詞なので、be動詞は不要だよねという話をしつつ、折角なので記事を書いてみようと思う。
be動詞じゃなくてもboolを使ってもいい
説明するのに良い例がないかと思って考えてみたら、Contains がLinqだしちょうどいい気がした。
docs.microsoft.com
動詞か助動詞始まりの場合、be動詞は付けなくてもboolにしていいんだということを理解してほしい。
Has なんかも.NETではなじみ深いboolを返すbe動詞始まりではない表現ではないだろうか。
助動詞でよく使うのはCan...だが、日本の中学に通っていた方は思い出して見てほしい。
”be able to”は”can”と同じように使える
この”able”は、動詞や名詞の終わりに結合すると、「~できる、可能にする」という形容詞に変身させることが出来る。
例えば、 Available
は利用可能の意味になる。
形容詞なので、みんな大好きbe動詞であるIs
が使い放題なのでこのableを末尾につける業をお勧めしていきたい。