dotnet format が動かない話に動きがあった話

しばらくの間、dotnet formatが動いてない

github.com

上記Issueを引いたものの、SDKのバージョンをフォールバックする等のワークアラウンドを取る業に時間を割く余裕もなかったので放置気味だった。

github.com

6.0.202 SDKにて解消するというお話なので、首を長くして待っている。

dependabotの依存アップデートで除外Projectの設定方法がわからない話

自動生成するようなMock Projectをslnに含めたいが、依存アップデートには含めたくない問題

dependabotの依存アップデートをしたところで、自動生成ツール側が対応してくれないと結局またロールバックしてしまうので、ignoreしたいものの、dependabotのdocを読んでも、あくまでignoreするのはpackageに関する設定のように読める。

archiveされたProjectではあるものの、基本的にはslnに含めているなら依存アップデートを行うのがWayのように読める

github.com

なるほど、そりゃそうだろうなあという気持ち。 一方で、自動生成ツールでの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を末尾につける業をお勧めしていきたい。

VisualStudio2022 17.1でC#もコード定義ウインドウが使えるようになった話

C++では以前から使えたらしいコード定義ウインドウがVS2022 17.1 で、C#でも使えるようになりました。

これによって、今までは[ 定義に移動 ]や [ 定義をここに表示 ] を選択する手間があったのが、カーソルを当てるだけで、コード定義ウインドウ内にコード定義が表示されるようになりました。

f:id:CreatioVitae:20220221155212p:plain

f:id:CreatioVitae:20220221154854p:plain

便利ですね☺