X-Y问题
什么是X-Y问题
X-Y问题就是有人想解决问题X,他觉得Y可能是解决X的方法但不知道Y怎么做;在我们的工作中,需求方给出的来的是Y,而软件工程师不知道需要解决的X是什么。
我理解的X-Y问题是没有找到问题的本质,而在错误的解决方案上浪费时间
避免X-Y问题
遇事目标要明确,多探究问题的本质
下面引用书中的一个例子:
Q :我怎么用Shell取得一个字符串的后3位字符
A1: 如果这个字符的变量是$foo
,你可以这样来,echo${foo:-3}
。
A2: 为什么你要取后3位?你想干什么?
Q: 其实我就想取文件的扩展名。
A1: 天呐,原来你要干这件事,那我的方法不对,文件的扩展名并不保证一定有3位啊。
A1: 如果你的文件必然有扩展名的话,你可以这样来做,echo${foo##*.}