エンターテイメント!!

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

typescriptの自動インポートでハマった話

きっかけ

自動インポートを使っていたが、とある問題があったので、辞めた。 ちなみに、使っているのは、VisualStudioCode。
拡張機能は、名前忘れた。。。

起きた問題

自分は、コード上にないものでもタイピングして、インテリセンスを使ってコードをある程度生成させる手法をよく使う。
しかし、クラス上にはないけど、プロジェクト内で定義されているものがあった場合、勝手にインポートされて、定義した型が予期しない型になっていた。。。
reduceとか、foreachの繰り返しで、定義した型に変換するときに、定義してないハズの値がないって言われて、1日くらい悩んでた。。。

原因は、自動インポートされているせいで、余計な型情報が読み込まれ、勝手に型情報が拡張され、予期しない状態となっていた。。。
コードが追加されたってことを知っていれば、即気づいたと思うのだが、静かにコード追加されるのは、意図しない悪影響がある。

今回から得た考察

自動でコード生成されるのは、危険。
IDE側は、コード補完する場合は、ユーザ許可を求めるような作りになってないと、意図しない実装で開発者を困らせることがある。

感想

マジでくだらないことで悩んでしまった。。。
俺って能力ないのかな?って思ったけど、そもそもの原因は俺じゃないから、こんな拡張機能を作ったひとが悪いと思うようにしてます。