程序员的修养 | X-Y问题

XY问题是啥

  • 你想做X这件事
  • 但你不知道怎么做X,但是你觉得做Y能够搞定X
  • 同样,你也不知道怎么做Y
  • 就去想其他人寻求帮助来搞定Y,完全不提X
  • 别人费力帮忙地搞定Y,但是觉得Y是一个很奇怪的问题
  • 经过讨论,大家才知道你要完成X,而且Y也不是X的合适的解决方法;结果也浪费了大量的时间
    本质:在错误的方向上,浪费了大伙儿很多时间,最后,干得越多错得越远。

咋解决

  • 无论尝试任何解决方案,都要给出初始问题的大背景
  • 向别人寻求帮助时,一定给出大背景,尽量给出细节

例子

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

工作中的启示

  • 这是学会提问的一个点,就是提问时一定给出最原始的需求;不要把你认为的手段当成目的;
  • 接需求:leader或者产品经理提需求时,往往屏蔽了一些信息。这时候一定多问几个为什么?问问背景,问问真实的用户需求是啥?
  • 个人发展,X可能是提升竞争力的技术,但是因为不会或者不好做,我们去做提升KPI的Y。这个需要避免,一个人的成长是应该放眼于整个行业来评估的,而不是仅仅得到一个好的绩效或者一次好的晋升就是成长。

参考

http://xyproblem.info
https://coolshell.cn/articles/10804.html
http://mywiki.wooledge.org/XyProblem

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值