愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

人力classリゾルバーの怪

静的型付けの言語がいいか動的型付けの言語がいいか、みたいな議論は聞き飽きたし今更その変種を蒸し返す気はないのだけれど。

例えば、合計して数百個以上のclassがあって、いわゆる継承とかも必要十分なレベルで使われているobject-orientedな設計がなされているコンポーネントが動的型付けの言語で書かれていると。で、そのコンポーネントの特定の場所で何をしているかを調べたくなったと。

そういう時に、例えば、reqって名前の変数がありますと。このreqが、どのHogehogeRequestのインスタンスなんだかFugafugaRequestのインスタンスなんだかその部分のコードだけ見ても全然分からない。なので、その振る舞いがよくわからない。どの辺でこのreqが初期化されてるかも分からないので、コードをまるっとgrepとかしつつ調べていくしかない。あー!これ何なの!これは一体何なのもう!

…ってな事態が発生した時に、少なからず変数に型アノテーションが付いている(可能性の高い)言語の方が巨大なコードベースを後から見返すのにはいいよなー。って僕は思ってしまうのだけど、やっぱり、思わない人もいるのかもしれない。


ちなみに個人としては、どっち派でもないので悪しからず。

そして、実際に動かしてdumpしてみるのが実は一番早いっていうね。こういう場合。