型推論を積極的に使わず、型を明示したいと思っている理由
#型 #type
個人的に関数の引数とか戻り値の型やある程度ローカル変数なども型を明示的に書きたいと思っている。
以下にその理由を列挙していく。
経験的に、実装を少しいじって戻り値型が変わっていることに気づかず、それを使う関数を呼び出したり適用している場所で分かりづらいコンパイルエラーなどが出たことがある
いろいろ探り探りソースを変更しているときなどだと、上記のような状況になったときコンパイルエラーの発生元を探りづらいときはある。
IDEのない環境(現在のGitHub)とかソースを読むときに関数定義に行ったり、関数定義にも書いてなかったら、関数の実装を読む必要があり、もしその実装でも型推論使って型を省いていたら、この作業をループし続けることになる。
IDEがあっても、IDEまたはプラグインが完璧というわけでもない(コンパイラと同等ではない)ので、コンパイルが通るコードでもIDEが型を導出できないこともあるし、間違うこともあるかもしれない。
ただし、ジェネリックスの型パラメータ的なものとか、適材適所で型推論ある方が良かったり、そのほうが探り探りでプログラムを書いているとき(型関連で)に良いときも経験的にある。だから場合に合わせて柔軟に。