XY Problem
XY Problemとは
Xをやりたいのだが、その方法がわからない
考えているうちに、Yができればできそうだと思いついた
しかしYを実現する方法もわからない
このときYのやり方を聞くよりも、Xのやり方を聞いたほうが良いという話
YはXをやるために適切な方法ではないかもしれないから
例
A「ファイル名の最後の3文字を表示する方法を教えて」
B「変数に入ってるならecho ${foo: -3}で取れるよ」
B「でもなんで3文字?」
B「もしかして拡張子を表示したいの?」
A「はい」
B「拡張子は3文字とは限らないよ」
B「だから最後の3文字を取得しても問題は解決しないよ」
B「echo ${foo##*.}とすれば良いよ」
この例の場合はBのエスパー力でなんとかなっているが、echo ${foo: -3}で終わっているとAは問題解決できていない
出典