きっかけ
自動インポートを使っていたが、とある問題があったので、辞めた。
ちなみに、使っているのは、VisualStudioCode。
拡張機能は、名前忘れた。。。
起きた問題
自分は、コード上にないものでもタイピングして、インテリセンスを使ってコードをある程度生成させる手法をよく使う。
しかし、クラス上にはないけど、プロジェクト内で定義されているものがあった場合、勝手にインポートされて、定義した型が予期しない型になっていた。。。
reduceとか、foreachの繰り返しで、定義した型に変換するときに、定義してないハズの値がないって言われて、1日くらい悩んでた。。。
原因は、自動インポートされているせいで、余計な型情報が読み込まれ、勝手に型情報が拡張され、予期しない状態となっていた。。。
コードが追加されたってことを知っていれば、即気づいたと思うのだが、静かにコード追加されるのは、意図しない悪影響がある。
今回から得た考察
自動でコード生成されるのは、危険。
IDE側は、コード補完する場合は、ユーザ許可を求めるような作りになってないと、意図しない実装で開発者を困らせることがある。
感想
マジでくだらないことで悩んでしまった。。。
俺って能力ないのかな?って思ったけど、そもそもの原因は俺じゃないから、こんな拡張機能を作ったひとが悪いと思うようにしてます。