最近ふと思った
「感じる」っていう関数を考えると、こう書ける
感じる(x)
xの型はもちろん「感じるもの」だ
感じる(カンジルモノ x)
しかし、人間の脳は多態性を担保してるので、実際には動的型付けに近い
感じる(var x)
例
・感じる(暖かさ)
・感じる(力強さ)
・感じる(お昼ご飯)
・感じる(猫)
・感じる(波)
人の脳内で渡されたオブジェクトをカンジルモノにキャストする(解釈する)
この時、当たり前だが渡されるものはカンジルモノである方が、受け手にとっては簡単だ。
つまり
感じる(◯◯感)=◯◯感を感じる
「かっこいいコード」をありがたがり、「分かりやすいコード」を否定するプログラマーがいるが
あれと同じだ。
ちなみに、感じる(◯◯感)に、そのまま◯◯感を入れるのはバカっぽいというのは分かる
isEmpty(String x)に、isEmpty(string)と渡すより、isEmpty(name)などと
今回の場合はisEmpty(nameString)に近いが。
ただ、「渡すものがnameStringという名前だからisEmpty(String x)よりisBlank(var x)に渡したい」
「違和感が◯◯感だから、『感じる』じゃなく『覚える』を使おう」
という主張はそういうことを言っているのだ。
と言うわけで「違和感を感じた」はそれほど悪くないと思う
その違和感を文章にして説明すればいいだけでは? 言語化できない = 理解が足りないということ。なので単純にそのもやもやについて分解して議論していくか勉強すれば良いだけのこと
「違和を覚える」で解決。
それでいーわ。
違和を感じる じゃなくて?
うーん、感じるは、感情だと思うんだよね。 違和は知覚するものだから、覚えるを使ってる。 そうすると、違和からおこる感情(違和感)と、違和とは異なることにもなりそうだけど……...