主页

索引

模块索引

搜索页面

X-Y PROBLEM

对于 X-Y Problem 的意思如下:

1. 有人想解决问题 X
2. 他觉得 Y 可能是解决 X 问题的方法
3. 但是他不知道 Y 应该怎么做
4. 于是他去问别人 Y 应该怎么做?

备注

简而言之,没有去问怎么解决问题 X,而是去问解决方案 Y 应该怎么去实现和操作。X-Y Problem 最大的严重的问题就是:在一个根本错误的方向上浪费他人大量的时间和精力!

示例

例子:

Q) 我怎么用 Shell 取得一个字符串的后 3 位字符?
A1) 如果这个字符的变量是 $foo,你可以这样来 echo ${foo:-3}
A2) 为什么你要取后 3 位?你想干什么?
Q) 其实我就想取文件的扩展名
A1) 我靠,原来你要干这事,那我的方法不对,文件的扩展名并不保证一定有 3 位啊。
A1) 如果你的文件必然有扩展名的话,你可以这来样来:echo ${foo##*.}

例:

Q)问一下大家,我如何得到一个文件的大小
A1)  size = `ls -l $file  | awk ‘{print $5}’`
Q) 哦,要是这个文件名是个目录呢?
A2) 用 du 吧
A3) 不好意思,你到底是要文件的大小还是目录的大小?你到底要干什么?
Q)  我想把一个目录下的每个文件的每个块(第一个块有 512 个字节)拿出来做 md5,并且计算他们的大小 ……
A1) 哦,你可以使用 dd 吧。
A2) dd 不行吧。
A3) 你用 md5 来计算这些块的目的是什么?你究竟想干什么啊?
Q) 其实,我想写一个网盘,对于小文件就直接传输了,对于大文件我想分块做增量同步。
A2) 用 rsync 啊,你妹!

参考

主页

索引

模块索引

搜索页面