X-Y Problem
什么是X-Y problem呢?
-
某人想要解決問題X
-
他認為Y可能是解決X問題的方法
-
但是他不知道Y怎么做
-
于是他去問別人Y應該怎么做
這就產生了一個X-Y problem
也就是說,沒有去問怎么解決問題X,而是去問怎么去解決方案Y,
這就會導致以下的后果:
1)熱心的人們幫助并告訴這個人Y應該怎么搞,但是大家都覺得Y這個方案有點怪異,
2)在經過大量地討論和浪費了大量的時間后,熱心的人終于明白了原始的問題X是怎么一回事,
3)于是大家都發現,Y根本就不是用來解決X的合適的方案,
示例
在酷殼看到的例子
Q) 我怎么用Shell取得一個字串的后3位字符?
A1) 如果這個字符的變數是$foo,你可以這樣來 echo ${foo:-3}
A2) 為什么你要取后3位?你想干什么?
Q) 其實我就想取檔案的擴展名
A1) 我靠,原來你要干這事,那我的方法不對,檔案的擴展名并不保證一定有3位啊,
A1) 如果你的檔案必然有擴展名的話,你可以這來樣來:echo ${foo##*.}
想說的
我在接觸這個名詞之前,有過這么一段經歷(大概含義):
我:請問VC中可以啟用o2優化嗎?
A:你提出這樣的問題,那么我可以猜測你目前對XX方面還沒有進行了解,你不應該把精力放在這方面上,
后來我便重構了代碼,而不是使用想當然的方式提高代碼運行速度,而時至今日我還沒有接觸到編譯有關的內容,在今日接觸 X-Y problem 這個名詞后,才想到當時我就產生了X-Y problem,
因此我們在解決問題的時候,要避免先入為主的想法,或者是在提出問題時,描述自己解決問題的思路,以免浪費幫助者的時間與精力,
這也就回到了提問的智慧(How To Ask Questions The Smart Way (catb.org)),
參考
X-Y Problem | 酷 殼 - CoolShell
XY問題(XY Problem) – (aqee.net)
More About How to Ask a Good Question (plover.com)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/415917.html
標籤:其他
下一篇:MongoDB 各項命名規范
