X-Y Problem

你问的问题不是你真正的问题 —— 理解 X-Y Problem 你真正想解决的是问题 X,但你在问的是你为了解决 X 而尝试的某个方法 Y 的问题。于是你去论坛、问 AI、找同事讨论 Y,但其实 Y 并不是最优解,甚至根本不是解决问题 X 的正确方向。关键词解释X你的真实目标或问题Y你以为的解决方案用解决 Y 的问题代替了原本 X 的问题。 阅读详情
X-Y Problem

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

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

简而言之,没有去问怎么解决问题X,而是去问解决方案Y应该怎么去实现和操作。于是乎:

1)热心的人们帮助并告诉这个人Y应该怎么搞,但是大家都觉得Y这个方案有点怪异。
2)在经过大量地讨论和浪费了大量的时间后,热心的人终于明白了原始的问题X是怎么一回事。
3)于是大家都发现,Y根本就不是用来解决X的合适的方案。

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啊,你妹!

这里有篇文章说明了X-Y Problem的各种案例说明,我从其中摘出三个来让大家看看:

你试图做X,并想到了用Y方案。所以你去问别人Y,但根本不提X。于是,你可以会错过本来可能有更好更适合的方案,除非你告诉大家X是什么。

— from Re: How do I keep the command line from eating the backslashes? by revdiablo

有些人问怎么做Y,但其它他想做的是X。他问怎么做Y是因为他觉得Y是最好搞定X的方法。 于是大家不断地回答“试试这个,试试那个”来帮助他,而他总是在说“这个有问题,那个有问题,因为……”。基本不同的情况,其它的方案可能会更好。

— from Re: Re: Re: Re: regex to validate e-mail addresses and phone numbers by Limbic~Region

X-Y Problem又叫“过早下结论”:提问者其实并不非常清楚想要解决的X问题,他猜测用Y可以搞定,于是他问大家如何实现Y。

— from <Pine.GHP.4.21.0009061210570.8800-100000@hpplus03.cern.ch> by Alan J. Flavell

其实这个问题在我之前的《你会问问题吗》里提到的那篇How To Ask Questions>移步去看一下。

所以,我们在寻求别人帮助的时候,最好把我们想解决的问题和整个事情的来龙去脉说清楚。

一些变种

我们不要以为X-Y Problem就像上面那样的简单,我们不会出现,其实我们生活的这个世界有有各种X-Y Problem的变种。下面我个人觉得非常像XY Problem的总是:

其一、大多数人有时候,非常容易把手段当目的,他们会用自己所喜欢的技术和方法来反推用户的需求,于是很有可能就会出现X-Y Problem – 也许解决用户需求最适合的技术方案是PC,但是我们要让他们用手机。

其二、产品经理有时候并不清楚他想解决的用户需求是什么,于是他觉得可能开发Y的功能能够满足用户,于是他提出了Y的需求让技术人员去做,但那根本不是解决X问题的最佳方案。

其三、因为公司或部门的一些战略安排,业务部门设计了相关的业务规划,然后这些业务规划更多的是公司想要的Y,而不是解决用户的X问题。

其四、对于个人的职业发展,X是成长为有更强的技能和能力,这个可以拥有比别人更强的竞争力,从而可以有更好的报酬,但确走向了Y:全身心地追逐KPI。

其五、本来我们想达成的X是做出更好和更有价值的产品,但最终走到了Y:通过各种手段提升安装量,点击量,在线量,用户量来衡量。

其六、很多团队Leader都喜欢制造信息不平等,并不告诉团队某个事情的来由,掩盖X,而直接把要做的Y告诉团队,导致团队并不真正地理解,而产生了很多时间和经历的浪费。

所有的这些,在我心中都是X-Y Problem的变种,这是不是一种刻舟求剑的表现?

参考
  • StackOverflow: What is XY Problem?
  • PerlMonks: XY Problem
  • Greg’s Wiki

(全文完)

东华大学单片机课程设计报告 用步进电机作为X-Y移动平台的执行机构,实现开环位置控制。本题中的步进电机为两相步进电机, 一相激励时步距角为1.8°(即每个脉冲,转动1.8°),由步进电机驱动器接受控制器的脉冲,每一个脉冲走一步,可正反转。步进电机的转动带动丝杆,将旋转运动转换为直线运动,步进电机的每一走步传递到X或Y方向的移动距离为0.02mm.系统中步进电机工作频率为500Hz--4KHz。运动要求是: (1)当按键K1按下时,X方向步进电机正向运转,X正向移动1mm; 当按键K2按下时,X方向步进电机反向运转,X反向移动1mm; 当按键K3按下时,Y方向步进电机正向运转,Y正向移动1mm; 当按键K3按下时,Y方向步进电机反向运转,Y反向移动1mm; (2)按键按住不放,连续运动直到按键释放,停止运转。 (3)控制器实时显示步进电机转过的步数和X或Y向移动的距离。 (4)系统供电电源为36 VDC。 立即下载

相关推荐

单片机课程设计——设计并实现红外遥控步进电机

利用红外遥控器控制步进电机的动作,动作要有正、反方向转动;单步;连续;快慢等动作。利用了中断来控制速度,查表来控制正转反转。其中中断初值载入的不同,决定了中断时间的不同,从而决定了步进电机的转速的不同

X-Y PROBLEM

X-Y Problem 对于X-Y Problem的意思如下: 1)有人想解决问题X 2)他觉得Y可能是解决X问题的方法 3)但是他不知道Y应该怎么做 4)于是他去问别人Y应该怎么做? 简而言之,没有去问怎么解决问题X,而是去问解决方案Y应该怎么去实现和操作。 于是乎: 1)热心的人们帮助并告诉这个人Y应该怎么搞,但是大家都觉得Y这个方案有点怪异。 2)在经过大量地讨论和浪费了大量的时间后,热心的人终于明白了原始的问题X是怎么一回事。 3)于是大家都发现,Y根本就不是用来解决X的合适的方案。 X-Y Pro

qq_35448165的博客 418

09东华理工大学数学建模模拟赛题

二天热覆盖急吼吼个机会过几个哪哈那样特建议哪哈一体机

X-Y问题

今天接触到一个新的概念“X-Y问题”,不知道是哪位老兄提出的,解释了很多生活中的难题。 简单来讲,“X-Y 问题”(X-Yproblem)是指,提问者询问Y问题,Y问题常常是奇怪或根本无法解决的,当回答者用非常复杂的方法解决这个不合理的问题Y后,发现还是无济于事,因为根本问题其实是另一个X问题,只是提问者错误的认为解决了Y就是解决X。 “相信大家都遇到过这个场合:一位同事问你一个问题,一开始听了半天,也不知道他到底想问什么,好不容易弄明白了他想问的问题,然后顺理成章你给出了答案,结果并不能解决他遇到的问题”

u010174502的博客 1921

x-y数控工作台 课程设计

机械控制课程设计 cad制图,数控机床的主视图

优快云积分获取与管理全攻略

技术社区积分系统是知识共享生态的核心激励机制,通过量化用户贡献实现资源交换。其底层逻辑遵循Web2.0时代的UGC经济模型,用户通过内容创作、社区互动等行为积累虚拟资产。在开发者社区场景中,积分体系能有效促进技术文档、工具源码等资源的流通,优快云作为国内头部平台,其积分规则具有典型参考价值。掌握签到策略、内容互动技巧和资源上传规范等实操方法,可系统性提升积分获取效率。2023年新规强化了连续签到奖励和互动质量检测机制,结合GitHub等开源平台资源互补,能构建更高效的技术资源获取路径。

weixin_34233974的博客 218

XY问题(XY Problem)

编程亦如人生,既然他是我个人生活的一部分,则便是人生的一部分。今天突然听师傅说“你让我遇到了‘XY问题(XY problem)’”。什么意思?对于“XY问题”,不同的人有不同的解释:你想做X,但你认为Y是实现X最好的方法。你不问关于X的事,反而问起Y的事。— 来自 Re: sequencial file naming by Abigail你尝试去做X,但你想起了Y方案。于是,你开始问关于Y方案的事,

shaifu3328的博客 3549

新手必看:手把手教你如何通过Github提交CVE漏洞(附完整截图流程)

本文为安全研究新手提供了一份详尽的CVE漏洞提交实战指南。文章重点介绍了如何通过Github平台,从漏洞发现、验证、撰写专业报告到最终提交CVE申请的全流程,并附有完整的截图和沟通模板,帮助初学者迈出负责任漏洞披露的第一步。

ttt77的博客 1252

X-Y Problem(推荐)

对于X-Y Problem的意思如下: 1)有人想解决问题X 2)他觉得Y可能是解决X问题的方法 3)但是他不知道Y应该怎么做 4)于是他去问别人Y应该怎么做? 简而言之,没有去问怎么解决问题X,而是去问解决方案Y应该怎么去实现和操作。于是乎: 1)热心的人们帮助并告诉这个人Y应该怎么搞,但是大家都觉得Y这个方案有点怪异。 2)在经过大量地讨论和浪费了大量的时间后,热心的人终于明白了

linux开发 923

ESP32-CAM+STM32实战:5步搞定无线图像传输到TFT屏(附完整代码)

本文详细介绍了如何利用ESP32-CAM和STM32实现无线图像传输到TFT屏幕的完整方案。通过5个关键步骤,包括硬件连接、ESP32-CAM配置、STM32数据接收、TFT屏幕驱动及系统优化,开发者可以快速构建高效的图像传输系统。特别介绍了RGB565格式的处理技巧,并提供了完整的代码实现,适用于智能家居、工业监控等多种应用场景。

weixin_30316097的博客 483

用简单仿真链路产生 WiFi CSI(不依赖专用工具箱,matlab实现)

这篇文章详细介绍了使用MATLAB仿真生成WiFi信道状态信息(CSI)的过程。内容包括:准备工作(定义OFDM和MIMO参数)、基本参数设置(天线数、FFT点数等)、构造训练OFDM符号、多径瑞利信道建模、逐天线时分发射接收处理、CSI信道估计方法,以及幅值和相位的可视化。通过BPSK调制和瑞利衰落信道仿真,实现了简单的CSI生成流程,为初学者理解CSI产生机理提供了直观指导。文章强调这仅是基础仿真,更深入的研究需要实际数据采集。文末还提供了WiFi指纹定位的相关参考资料。

静水流深,沧笙踏歌 1205

The X-Y Problem

文章来源:https://coolshell.cn/articles/10804.html X-Y Problem 对于X-Y Problem的意思如下: 1)有人想解决问题X 2)他觉得Y可能是解决X问题的方法 3)但是他不知道Y应该怎么做 4)于是他去问别人Y应该怎么做? 简而言之,没有去问怎么解决问题X,而是去问解决方案Y应该怎么去实现和操作。于是乎: 1)热心的人们帮助并告诉这个人Y应该怎么搞,但是大家都觉得Y这个方案有点怪异。 2)在经过大量地讨论和浪费了大量的时间后,热心的人终于明白了原始的.

Stay Hungry, Stay Foolish! 328

ADC电路项目1——10bit SAR ADC 设计,smic18工艺,有工艺库,有效位数ENOB为9.8

包括详细仿真文档,原理介绍,完整电路图,仿真参数已设好,可直接使用,在自己的电脑上就可以运行仿真。本设计采用 smic18mmrf CMOS 工艺,使用栅压自举电路的采样开关,Vcm-based 开关。电容开关控制电路,10 位 DFF,最后用 10 位理想 DAC 模块将数字码转换为 10 进制量进。时序上级板采样的 DAC 电容阵列,两级动态比较器,比较器异步时钟,SAR 动态逻辑,DAC。10bit SAR ADC 设计,smic18工艺,有工艺库,有效位数ENOB为9.8。

qq_48407979的博客 814

X-Y Problem(你会问问题吗?)

原文链接:http://www.cnblogs.com/Detector/p/8446529.htmlX-Y Problem对于X-Y Problem的意思如下:有人想解决问题X,他觉得Y可能是解决X问题的方法,但是他不知道Y应该怎么做,于是他去问别人Y应该怎么做? 简而言之,没有去问怎么解决问题X,而是去问解决方案Y应该怎么去实现和操作于是乎:热心的人们帮助并告诉这个人Y应该怎么搞,但是大家都觉...

Detector_的博客 1565

Latex在VSCODE中编译报错`Recipe terminated with error. Retry building the project.

Latex在VSCODE中编译报错Recipe terminated with error. Retry building the project. 1 报错提示: Recipe terminated with error 2 报错原因 大概率的原因是因为latex没有添加到系统环境变量中,所有设置的编译工具没有办法找到才出现的这种情况 3 解决方案 请按照如下方式进行系统变量的添加 对windows,win+R 然后输入sysdm.cpl 在高级中选择环境变量 找到path环境变量,将txtlive中

呆呆象呆呆的博客 3万+

Linux ARM平台开发系列讲解(GMSL摄像头篇)1.2 MAX9296 GMSL链路配置

串行器 +解串器组成,软件需要做的就是写这三部分的驱动,让摄像头数据能到达。3. 配置解串器和串行器的GMSL链路。串行器和解串器上电成功之后,就可以配置。软件配置(注意软件只可以配置速率,2. 9296上电,使能芯片。的版本和速率,比如版本是配置。配置成功之后,就会出现串行器。的链路,其它同类型的。设备地址,我设置的是。...

DSMGUOGUO的博客 1万+
上一篇: Redis的高级实用特性——发布及订阅消息
下一篇: 架构的本质
笑天居士
博客等级 码龄24年 292粉丝 136原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值