The XY Problem

The XY Problem 原文链接 The XY Problem 什么是XY问题 XY问题是在询问您尝试的解决方案,而不是您的实际问题。 这导致提问者和回答者大量的时间和精力浪费。 用户想做X。 用户不知道如何做X,但认为只要能够做Y,他们就可以找到解决方案。 用户也不知道该怎么做Y。 用户请求有关Y的帮助。 其他人试图用Y帮助用户,但感到困惑,因为Y似乎是一个很想解决的问题。 经过大量的交互和浪费的时间之后,终于可以清楚地知道用户确实需要X的帮助,而Y甚至不是X的合适解决方案。 当人们陷于他们所认为的相关解决方案无法及进行,停下来并完整地解释问题时,就会出现问题。 如何解决 始终包括有关更广泛情况的信息以及任何尝试的解决方案。 如果有人要求提供更多信息,请提供详细信息。 如果您已经排除了其他解决方案,请分享您排除它们的原因。 这将提供有关您的问题的更多信息。 记住,如果您的诊断理论是正确的,您就不会寻求帮助了 例子 Example 1 n00b实际上并不需要文件名中的最后3个字符,而是想要文件扩展名,那么为什么要问最后3个字符呢? <n00b>如何回显文件名中的最后三个字符? <feline>如果它们在变量中:echo $ {foo:-3} <feline>为什么要输入3个字符? 你真正想要的是什么? <feline>您是否需要扩展名? <n00b>是。 <feline>不能保证每个文件名都具有三个字母的扩展名, <feline>所以盲目地抓三个字符并不能解决问题。 <feline> echo $ {foo ## *。} Example 2 如果Angela刚开始解释说她想防止其他人检测到她的操作系统,那本来可以是简短得多且更有成果的讨论。 Angela:'nmap -O -A 127.0.0.1'返回以'OS:'开头的某些行。 怎么改变呢? Obama:在nmap的源代码中查找,找到如何找到Linux部分,然后重写TCP / IP堆栈以使nmap无法检测到它。 Angela:是的,但是我完全不了解linux系统api。 Obama:好吧,nmap基于TCP / IP堆栈的工作方式,除了重写该堆栈的适当部分外,没有真正的方法。 Angela:我真的需要避免这些信息。 iptables可以完成这项工作吗? Obama:好吧,不要使用操作系统检测或版本扫描 Angela:我想防止其他人知道我的操作系统类型

2020-06-21 · 1 min · 62 words