XY 문제는 무엇입니까?

XY 문제는 무엇입니까?

질문을 할 때 내가 그 문제에 빠졌다는 것을 어떻게 알 수 있습니까? 어떻게합니까? 피하세요?

FAQ 색인으로 돌아 가기

댓글

를 발견했다고 주장하는 사람이 편향되어 있습니다. ru.stackoverflow.com에 대한 러시아어 번역

  • ‘도 있습니다. ja.stackoverflow.com에 대한 일본어 번역
  • ” 프레임 챌린지 “와 대조됩니다. 이제 여러 SE에서 권장 또는 금지 사이트 : interpersonal.meta.stackexchange.com/questions/1495/ …
  • 관련 섹션
  • @ Sridhar-Sarnobat 귀하의 비유에서 X → Y 질문은 다음과 같습니다. ” 어떻게 세포 유형의 성장을 억제 할 수 있습니까 xyz 환자의 혈류에서 tuv 단백질 수준을 ‘ 줄이면? ” 이것이 암에 대한 유일한 치료법입니다.
  • 흠, ‘ 너무 구체적인 질문이라고 말씀 하셨는데 ” 진짜 ” 목표는 암 치료입니다. 그렇다면 공정한 지적입니다. 실제로 반대 문제는 질문이 너무 광범위하게 닫히는 것입니다.
  • 이 문제에 대해 가능한 최악의 이름이라는 것을 인정할 수 있습니까? 이름은 그것이 설명하는 것과 문자 그대로 아무런 관련이 없습니다. 누군가가 ” 말 앞에 카트를 넣기 “와 같은 말을하는 것처럼 ‘ 최소한 무언가가 거꾸로 있다는 힌트를 받기 전에는 들어 본 적이 없습니다 (말이 밀지 않고 당기는 것). 저는 ‘ 다른 이름에 대한 좋은 아이디어가 없습니다.
  • 때로는 더 넓은 맥락에서 고려하는 것이 유용 할 수 있습니다. div id = “e8547d0ecd”> 의 진행 / 결과는 실제로 현명한 솔루션을 추구합니다.
  • 답변

    무엇입니까?

    XY 문제 실제 문제

    즉, X 문제를 해결하려는 것입니다. 솔루션 Y 가 효과가 있다고 생각하지만 문제가 발생하면 X 에 대해 묻는 대신 Y

    에 대해 질문합니다.

    문제

    이는 문제 해결을 돕고 자하는 사람들의 불만으로 이어질 수 있습니다. 문제에 대해 물어볼 때 도움이 필요한 솔루션과 분명한 연관성이 없을 수 있기 때문입니다. 해결하고자하는 문제에 대해 / p>

    피하는 방법

    이 함정에 빠지지 않으려면 항상 시도한 솔루션과 함께 더 넓은 그림에 대한 정보를 포함하십시오. 누군가가 더 많은 정보 나 특히 더 구체적인 질문을 요구한다면, 세부 사항을 제공하십시오. 제안 될 것이라고 생각하고 이미 배제한 다른 해결책이있는 경우 다시 검토하지 마십시오. 대신 요구 사항에 대한 자세한 정보를 제공하므로 배제한 이유를 설명하십시오. 다른 사람들이 더 나은 답변을 제공 할 수 있도록 도와줍니다.

    예시를위한 최근 IRC 대화 :

    Q : 두 구분자 사이에 문자열을 반환하는 함수가 있습니까?

    B : 무슨 뜻인지 이해가 안되지만 이미 기능이있는 것 같네요

    C : 분할 및 분할

    D : 파티션도

    Q : 파티션을 시도했습니다.
    Q : 내장 기능을 사용하여 번호를 얻으려고했습니다. ” attribute1 : 50.223, attribute2 : 442.1 ”

    D : 문자열을 구문 분석하지 않는 이유는 무엇입니까?

    Q : 파싱 기능이 내장되어있을 수 있다고 생각했습니다.

    D : 쌍 = s.split (“, “)]; attribs = {k : v는 x의 경우 k, v의 경우 [x.split (” : “)]}
    D : “라이브러리가 거의 없지만 오류에 대해 신경 쓰지 않는다면 단순한 형식으로도 충분합니다. 처리
    D : 잘 알려진 형식을 사용하도록 소스 변경 (예 : json 또는 yaml, 가능하면 선호 됨

    Q : 이 코드는 실제로 HTML에서 제공됩니다.
    Q : 하지만 HTMLParser 또는 그 이름이 무엇이든 Javascript를 구문 분석하는 방법을 모르겠습니다.

    D : 단순히 HTML에 포함됩니까, 아니면 HTML의 일부 변형 된 버전입니까?

    Q : HTML에 삽입됩니다.

    D : JavaScript 인 경우 (즉, 외부 중괄호 누락 제외) JSON은 아마도 구문 분석 할 수 있습니다.

    Q : 감사합니다

    D : 명시 적으로 말하지 않았습니다. JSON은 JS 코드가 아닌 데이터 구조 만 구문 분석합니다.

    Q : 파싱해야 할 것은 데이터 구조뿐입니다.

    문제는 실제로 JavaScript 데이터 구조를 구문 분석하는 방법에 관한 것입니다. ” 두 구분 기호 사이의 문자열을 찾을 수 없습니다 “,하지만 실제 문제에 도달하는 데는 상당한 시간과 직관이 필요합니다.

    이것은 모드에 관계없이 완전한 대화 형 채팅에서 수행하기 더 쉽지만 SE 사이트에서는 , 게시물을 약간 다듬고 게시 한 다음 5 ~ 30 분 이상 의견을 보내면 처음부터 올바른 방향으로 나아가는 데 정말 도움이됩니다.

    댓글

    • IMO XY 문제는 질문자가 솔루션이 작동하지 않는 이유를 이해하고 ‘ 원본을 더 잘 이해하는 데 도움이 될 수 있기 때문에 때때로 유용합니다.
    • 실제 문제에 도달하는 가장 쉬운 방법은 일반적으로 Why를 다섯 번 묻는 것입니다.
    • 하지만 X 대신 Y로 시작하면 이유를 10 번 물어 봅니다 (또는 모든 레벨에 5 가지 이유를 적용합니까?). 🙂
    • 왜 Y-‘가 질문해야 할 질문입니다.
    • 공정하기 위해 여러 번 질문자들이 X에 대해 질문합니다. 응답이 ” 너무 많이 ‘입니다. 작은 예로 분류합니다. ” 그래서 포스터는 시도한 솔루션 Y를 분리하고 모두가 원래 문제를 보지 못합니다.
    • 당신이 Y에게 갇혀있는 것 같습니다. 첫 직장에서 저는 웹샵을 수정해야했습니다. 코드베이스는 html PHP와 js의 썩은 혼합이었습니다. 문제를 해결하는 방법은 두 가지가 있습니다. 모든 것을 다시 실행 (상사가 거절 함) 테이프를 더 추가합니다. 그래서 실제로 나를 도와주지 않았습니다. ” 어떻게해야합니까? ” ” 왜 그렇게 하시겠습니까? ” ” ” ” Y / 안 함 / {antipattern}을 사용하는 이유는 무엇입니까? ” ” 내가해야하므로 ”
    • @OliverA. 그러면 질문의 일부가 Y를 수행해야하는 이유에 대한 설명이됩니다. ” 레거시 / 보스 / 이전 프레임 워크 때문에 Y를 수행해야합니다. ” 그러면 질문에 대한 답이 더 쉬워지고 모두에게 더 가치가 있습니다.
    • @LegoStormtroopr 많은 사람들이 ‘이를 이해하지 못하는 경우를 제외하고는 그들은 ‘ 때때로 올바른 접근 방식을 선택할 수있는 사치가없고 갖고 ‘ > 기존 코드를 반창하고 질문이 너무 좁아서 닫힙니다 …
    • 모든 질문을 ” Y “. 나는 내 문제의 전체 범위를 설명하는 데 관심이 없으며 (특히 직장에서 비공개 소스 독점 소프트웨어를 작업 할 때) 느낌이 듭니다 ( 왜? 왜? 왜? “) 모든 맥락에서 내 질문을 요약하면 더 빠르게 답변을 얻을 수 있습니다.
    • 상황에 따라 다릅니다. 질문자 ‘의 문제 공간에 대한 전반적인 지식에 대해나는 n00n에 동의합니다. 대안에 대해 더 경험이 많은 사람들은 이미 가능한 모든 X ‘를 배제했을 수 있으며 이제 X는 상수이며 해결하기를 원합니다. Y의 경우. 이미 배제한 ‘ 가능한 모든 X ‘를 검토해야하는 질문에서 벗어나게됩니다. 사무실 정치 또는 기존 시스템 아키텍처를 탐구합니다. 경험이 적은 사람은 다른 ‘가 대안 X ‘를 검토하고 해당 전제 조건을 재고하도록 제안하면 도움이 될 수 있습니다.
    • 반대 예 : Me : Java에서 현재 디렉토리를 변경할 수있는 방법이 있습니까? 기타 : 자바에서는 ‘이 작업을 수행 할 필요가 없습니다. 뭐하고 싶어? 나 : (한숨) 좋아요, 포트를 듣고 메시지를 교환하는 프로그램을위한 실행 가능한 jar가 있습니다. jar는 일반적으로 x / bin에 있고 구성은 x / conf에 있습니다. 따라서 프로그램은 ../conf에서 구성을 읽습니다. 이제 프로그램의 메인 메소드를 직접 호출하여 바람둥이 서버 내에서 실행하고 싶습니다. ‘. 하지만 서버 ‘의 홈 디렉토리와 ” ../ conf “는 허용되는 장소가 아닙니다.
    • (계속) 한 스레드의 홈 디렉토리를 변경할 방법이 있는지 궁금합니다. 기타 : 아, 알겠습니다. 음, 자바에서는 ‘이 작업을 수행 할 수 없습니다. 나 : 왜 ‘ 이전에 그렇게 말할 수 없습니까? -이 경우 X 질문에 Y (자바에서 파일 사용 방법)라는 질문에 답했습니다.
    • 보통 사람들이 제 문제를 해결하는 것이 아니라 제 질문에 답합니다. 사람들이 후자보다는 전자를 돕고 자 할 때 다소 짜증이 날 수 있습니다.
    • @NoctisSkytower하지만 대부분의 경우 모든 답변은 상황에 따라 다릅니다 … Q : ” C에서 X를 수행하려면 어떻게해야합니까? ” A : ” 각기 고유 한 함정과 사용 사례가있는 20 가지 방법이 있습니다. 직접 연구하여 다른 사람들이 저지른 모든 실수를 저 지르거나이 방법으로 해결하고 싶은 문제를 알려 주시면 최선의 접근 방식을 제공 할 수 있습니다. ! ” Q : ” 원하지 않음 ‘ 강의에서 아무 대답이나 해주시면됩니다. ‘ 상관 없습니다! “- A : ” -.- bye. ”
    • 비 프로그래밍 SE 사이트는이 답변으로 연결되어 XY 문제 개념을 설명합니다. 보다 보편적 인 (비 프로그래밍) 예제가 훨씬 더 도움이 될 것입니다.

    답변

    XY 문제, 때때로 불려지는 것은, 도움을 요청하는 사람들과 도움을 제공하는 사람들 모두에서 엄청난 양의 시간과 에너지를 낭비하는 정신적 블록입니다. 종종 다음과 같이 진행됩니다.

    • 사용자가 X를하고 싶어합니다.
    • 사용자는 X를 수행하는 방법을 모르지만 다음과 같은 경우 해결 방법을 엉망으로 만들 수 있다고 생각합니다. Y를 수행 할 수 있습니다.
    • 사용자는 Y를 수행하는 방법도 모릅니다.
    • 사용자가 Y에 대한 도움을 요청합니다.
    • 다른 사용자는 Y로 사용자를 도와 주지만, Y가 해결하고 싶은 이상한 문제처럼 보이기 때문에 혼란스러워합니다.
    • 많은 상호 작용과 시간 낭비 끝에 마침내 사용자가 X에 대한 도움을 원한다는 것이 분명해졌습니다. X에 적합한 솔루션조차도 아니 었습니다.

    이 문제는 사람들이 한 가지 접근 방식에 자신의 생각이 고착되어 한 발짝 물러 설 수 없게되었을 때 발생합니다. 더 큰 그림을 보면이 사람들은 X로 돌아가서 대체 솔루션을 계속 검색 할 수 있습니다.

    XyProblem “에서 자세한 정보.

    댓글

    • 또한이 답변이 필요하다고 생각합니다. 설명에 추가. 위의 내용을 읽고 현재 문제 (X 또는 Y 질문)에 대해 생각해 보았습니다.이 댓글을 읽으면 ” aha ” 내 질문을 게시했다면 X가 아니라 Y에 대해 문의했을 것임을 이해하는 순간입니다. 내 상황의 반복은 내가 문제를 해결하는 방법에 초점을 맞춘 정신적 장애가 될 수 있습니다. 해결하고자하는 문제를 명확하게 설명하는 것보다 문제가 큰 도움이됩니다.
    • 사용자의 책임이라고 생각합니다. ‘ 저는 ‘ 문제 X를 해결하고 싶었고 모두가 Y와 Z를 제안했다는 문제를 여러 번 만났습니다.하지만 Y 또는 Z에 대한 해결책을 원했다면 이것은 내가 요청한 것. 제가받는 답변이 제 질문에 속하지 않았기 때문일뿐만 아니라 ‘ 제가 과소 평가되었다고 느끼기 때문에 조금 부끄럽습니다.그 이후로 내 응답자를 이러한 방식으로 오도 할 수있는 세부 사항을 의도적으로 놓쳤습니다.
    • 이 특정 답변은 Maslow ‘ s Hammer
    • 나는 대답에 동의하지 않습니다. X 문제가 있고 Y를 해결책으로 설명하고 Y에 대한 도움을 요청하는 경우 ‘하는 일은 문제에 대한 (결함이있을 수있는) 이해를 확립하는 것입니다. 누군가를 돕고 싶을 때, 나는 그들의 X 질문뿐만 아니라 그들이 현재 생각하고있는 것이 어떤 것인지 (Y) 알고 싶습니다. 때로는 ‘ 생각할 무엇을 가르치는 것보다 생각하는 방법 을 가르치는 것이 더 중요합니다. 그리고 XY 문제는 그렇게하는 방법에 대한 중요한 단서를 제공합니다.
    • 사실, XY 문제를 훈계하는 것은 특히 멍청하지 않습니다. 그리고 (오, 하나를 고르기 위해) : 지난 몇 년 동안 stackoverflow는 이와 관련하여 끔찍했습니다. 다른 프로그래머 중심 SE 사이트는 ‘ 그렇게 돌이킬 수 없을 정도로 망가지지 않는다고 ‘ 알립니다.
    • @ tgm1024 귀하의 의견을 ‘ 잘 이해하지 못합니다. XY 문제는 사용자가 질문에 X와 Y를 모두 제공하여 사고 과정을 포함 할 때가 아니라 ‘ 사용자가 ‘ 생각 과정을 포함하지 않고 Y 만 제공합니다. 특히 그런 경우에는 ‘ 생각하도록 가르치기가 어렵 기 때문입니다 .
    • @JiK, XY 문제로 식별하거나 ‘하지 않습니다. 그렇다면 ‘ X를 잘 알고있는 것입니다. ‘ 아니면 ‘ X가 무엇인지 가정하지 않는 것이 좋습니다. 제시된 Y는 실제로 유효한 형식의 질문 일 수 있기 때문입니다 .
    • 사용자는 ‘ X를 수행하는 방법을 모르지만 Y를 수행 할 수만 있다면 해결책을 찾을 수 있다고 생각합니다. 모든 문제가 나에게 해결되는 방법처럼 들립니다 : P. 극도로 모든 사람이 질문을 시작해야합니다. ” 나는 어떤 식 으로든 내 삶과 세상을 개선하고 싶습니다. 저는 19 세에 태어났습니다 … ”
    • 때로는 ‘ 거의 맞습니다. 몇 년 전, Oracle DBA가 저 (시스템 관리자)를 찾아 지쳐서 ” 어딘가에서 뭔가 잘못되었습니다 ” 그 위에 티셔츠를 직접 만들었습니다. 여러면에서 완벽한 오류 보고서입니다. 내가 반박해야 할 가정을 ‘하지 않기 때문입니다. 그의 문제를 해결하고 그의 관찰과 그의 기대치를 자세히 살펴보고 현실과의 불일치가 어디에 있는지 확인할 수 있습니다.
    • @ tgm1024 It ‘ 질문자와 답변자 모두 에 많은 시간을 낭비하지 않도록합니다. 유효한 Y의주의 사항을 알고있는 경우 해당 정보를 질문에 포함해야합니다. X를 더 요구하는 것은 피할 것입니다. ‘ X를 요구하는 경고가 Y에 대한 솔루션이 그다지 도움이되지 않기 때문에 정확히 필요한 것인지 알지 못하는 경우. 올바른 솔루션을 가리 키지 않고 잘못된 솔루션으로 남겨 두는 것은 멍청한 일입니다.
    • @trixn, I ‘ 어디에 있는지 잘 모르겠습니다. 동의하지 않는다. 그러나 — > X 문제가 있고 Y를 해결책으로 언급하고 Y에 대한 도움을 요청하면 ‘ 하는 것은 문제에 대한 (결함의 가능성이있는) 이해를 확립하는 것입니다. 누군가를 돕고 싶을 때 그들의 X 질문뿐만 아니라 현재 그들이 어떻게 생각하고 있는지 (Y)를 알고 싶습니다. 때로는 생각하는 것을 가르치는 것보다 사고하는 방법을 가르치는 것이 ‘ 더 중요합니다. 그리고 그들의 적절하고 가치있는 XY 문제는 저에게 어떻게 접근하는지에 대한 중요한 단서를 제공합니다.
    • @ tgm1024 말 그대로 당신이 이미 말한 것입니다. 전에. 내 요점은 XY 문제를 훈계하는 것이 특히 멍청하지 않다는 진술에 관한 것입니다. 물론 ‘는 질문이 XY 문제 일 수 있다는 의심을 어떻게 표현하는지에 대한 질문이기도합니다. 하지만 일반적으로 말하면 ‘ 요구하는 사람이 실제로 필요한 것이기 때문에 멍청한 사람에게 비우호적이라는 데 동의하지 않습니다. 이것이 ‘ 제가 일반적으로 사용 사례에 대해 더 많은 정보를 요청하는 이유입니다. Y가 대답하기 쉬운 질문 인 경우 일반적으로 어쨌든 원하는 해결책이 아닐 수 있다는 메모와 함께 대답합니다.
    • @trixn, 물론 누군가를 올바른 방향으로 가리킬 수 있습니다. 무언가를 보는 새로운 방식으로 누군가를 안내 할 수 있습니다.그러나 질문 형성 자체가 그 자체로 잘못되었다는 생각으로 시작하는 것은 제가 ‘ 큰 상충 관계에있는 것입니다. 예를 들어 Jonathan Benn의 찬성 71 답변에서 쌍곡선 인용문을 살펴보십시오. ” Q & A, XY 문제는 관련된 모든 사람에게 실망 스럽다는 사실에서 비롯됩니다. ” 말도 안 돼요. XY 질문은 가치가 있습니다. ‘ 원하는 사람들에게만 실망 스럽습니다.
    • 좋은 설명입니다. RE : ” 그리고 Y는 ‘ X에 적합한 솔루션도 아닙니다 “, 가끔 Y가 X에 대한 해결책이 될 수 있다고 생각합니다.하지만 이것은 자연 스럽거나 실용적인 해결책이 아닙니다.
    • Imo이게 맨 위에 있어야합니다. 맨 위에있는 대답은 불쾌하지 않지만 먼저 그것을 읽고 머리가 긁히고 나서 이것을 보러 내려 왔고 답이 분명해졌습니다.

    답변

    XY 문제는 Einstellung 효과 의 하위 집합 인 것 같습니다. 문제 해결사가 특정 솔루션에 멈춰서 사용할 수 없습니다. 잠재적으로 우수한 솔루션을 찾기 위해 정신적으로 역 추적합니다. 이 심리적 현상은 모든 사람, 초보자 및 전문가 모두에게 영향을 미칩니다.

    첫 번째 아이디어가 더 나은 아이디어로 눈을 멀게 할 수있는 이유 “는 예를 설명합니다. 한 게임에서 5 번 짝짓기 한 짝과 함께이기는 체스에서. 다음 게임에서는 같은 플레이어가 5 번 메이트라는 생각에 고착 했기 때문에 더 빠른 3 번 메이트를 보지 못합니다.

    Q

    A, XY 문제의 위험성은 관련된 모든 사람을 실망 시킨다는 사실에서 비롯됩니다.

    1. 질문을하는 사람이 잘못된 질문을합니다. 원래 문제가 아닌 시도한 해결 방법과 관련이 있음) 문제를 해결하기가 어렵습니다. 제안 된 답변은 “저자의 솔루션을 구현하는 방법을 다루지 않아서 불만족 스럽습니다.
    2. 제안 된 솔루션이 제안 된 솔루션에 접근하고 있기 때문에 이해가되지 않기 때문에 답답합니다. 새로운 각도에서 문제가 발생하고 (아마도) Einstellung 효과의 영향을받지 않고 있으며 원래 포스터로 질문을 명확히하기가 어렵습니다.

    댓글

    • Einstellung effect 설명이 명백한 실수를 기반으로 한 흥미로운 설명입니다. Luchin은 불완전하고 모호한 설명에서 사람들이 문제를 어떻게 추론할지 실험하고있었습니다. 지연 시간 최적화 또는 처리량 최적화를 요구합니까?). 그러나 그는 여전히 ” 사람들이 솔루션을 찾는 방법에 대해 실험하고 있다는 착각을했습니다. “. 그것은 아마도 참고 용일 것입니다. Luchin은 그의 관심에 너무 집중했고, 그가 매우 다른 문제로 전환했을 때 그는 알아 차리지 못했습니다.
    • 제 출처는 Scientific American이었습니다. 이의를 제기하면 처리 할 수 있습니다.;)
    • 체스의 예는 플레이어가 불충분 한 재료로 복잡한 체크 메이트를 달성하는 데 집중하면서 여왕이 될 수있는 폰이 있다는 사실을 간과하는 것과 같습니다.

    답변

    사각형 퍼즐 누락 문제는 좋은 예입니다. 단순하고 보편적 인 문제 / 질문 / 해결 과정을 보여 주며, “일부 환상”이 복잡한 문제를 야기합니다.

    자명 한 문제가 있습니다. — 1x 두 번째 그림 —에 1 개의 구멍이 생겼지 만 해결책은 (예를 들어 콜럼버스의 달걀처럼) 알고 있어야 분명합니다 … 모든 사람, 전문가 및 비전문가, 문제가 있다는 데 동의합니다.

    여기에 이미지 설명 입력

    • 일반 사용자 : “두 개의 동등한 숫자, 즉 완벽한 13×5 그리드의”총 삼각형 “이 있다고 생각합니다 .. . “, 다음 질문 :

      • 문제 Y : “두 번째 등가 삼각형에 구멍이있는 이유는 무엇입니까?”.
    • 전문 사용자 : “죄송합니다. , 유사 하지만 “완전히 동등한”수치는 아닙니다.

      • 문제 X : “완벽한 동등 물이 아님을 어떻게 보여줄 수 있습니까?”.

    영리한 기하학 전문가는 “완벽한 등가물이 아닌 유사한 기하학”의 관점에서 생각합니다.

    일반 사용자는 생각합니다. , 정확한 합치 측면에서 잘못되었습니다. 따라서 잘못된 가설 , 잘못된 Y 질문을 생성합니다.


    “잘못된 가설 행동 “의 전문화로서”XY 문제 “

    실제 질문 (X)을 풀고 싶고 Y-문맥으로 생각하고 질문-Y를 사용합니다. 컨텍스트 X 대신 컨텍스트에 대해 질문합니다. Y.
    ( @Gnome이 위에서 언급했지만 다른 단어를 사용함)

    그래서, “XY 문제” 잘못된 작업 가설 사용 을 말하는 또 다른 (보다 전문화 된) 용어입니다. p>

    댓글

    • 당신의 반대표를 검토하세요. 저는 개인적 의견을 좀 더 일반적이고 흥미로운 형식과 분리하여 설명하기 위해 수정 했습니다. ” 무엇입니까 “.
    • 나는 당신의 대답과 당신으로부터 당신의 의미를 얻습니다. ‘ 애니메이션 일러스트레이션으로 질문에 답하는 사람입니다. 내 평판 (이 메타 커뮤니티에서)으로 투표 할 수 있으면 투표하겠습니다.
    • 이 답변 은 일반적인 사용 사례 , ” 사고를 실행하는 프로그래머 “가 기능적 언어에 대해 질문 할 때 … 제안 된 솔루션 : 최상위 수준에서 물어보십시오.
    • 죄송합니다. 두 번째 등가 삼각형에 구멍이있는 이유는 무엇입니까?
    • 안녕하세요 @KorayTugay, 귀하의 질문은 범위를 벗어났습니다 (고전적인 문제입니다. 고전적인 설명을 사용할 수 있도록 내 Wikipedia 링크를 참조하십시오!). 추신 : 삼각형이 비슷하고 면적이 거의 같지만 정확히 같은 면적이 아니기 때문에 구멍을 차이점 으로보고 싶습니다. 기하학적 차이의 작은 스트립에서 나온 구멍입니다.
    • @koraytugay 애니메이션이 재설정 될 때 빨간색과 파란색 삼각형이 닿는 지점을 살펴 봅니다. 파란색 삼각형이 빨강보다 ” 파란색 삼각형이 아래쪽에있을 때 빗변은 ” 볼록 ” 상단에있을 때는 ” 오목한 “입니다. 빗변의이 ” 굽힘 “은 하나의 정사각형 ‘에 해당하는 차이를 만듭니다. 영역

    답변

    XY 문제 방지

    나는 그것을 피할 수 없다고 주장합니다. 단순히 프로그램 요구 사항을 버리고 디자인을 요청하지 않고서는 안됩니다. ( 권장하지 않음) .

    모든 소프트웨어의 설계 프로세스가 요구 사항 “A”의 시작 세트를 기반으로하기 때문에이를 주장합니다. 거기에서 “B를 수행하면 A를 얻을 수 있습니다. 거기에서 “내가 D와 E를하면 B를 얻을 수 있고 F와 G를하면 C를 얻을 수있다”라고 말합니다. 그리고 “Y를하면 X를 얻을 수 있습니다.”라고 말합니다. “. 우리는 일반적으로이 작업을 너무 빨리 수행하여 프로세스에 대해 생각조차하지 않습니다.

    따라서 XY 문제의 주요 문제는 Y가 가능하지 않다는 것입니다. g로 긴장을 푸는 디자인 가능한 X로 돌아갑니다. 당신은 보통 Y가 실제로 묻지 않고는 불가능하다는 것을 알지 못합니다. 당신이 모르는 것을 당신은 모릅니다. 그러므로 그것은 피할 수 없습니다


    XY에 빠질 위험이있는 질문하기

    XY 문제에 대해 할 수있는 최선의 방법은 경계하는 것입니다. 질문 할 때 반대합니다. 동일한 질문을하되 가능한 한 많은 관련 정보를 제공하세요.

    • 문제 설명
    • 무슨 일인지 설명하세요. 달성하려고합니다.
    • 더 넓은 디자인에 얼마나 적합한 지 설명

    이를 통해 사람들이 XY를 식별하고 훨씬 더 빠르게 도와 줄 수 있습니다.


    중요 : XY 문제에 대한 답변 제공

    제 생각에 가장 큰 문제는 XY 질문은 그들이 유발하는 (자주) 도움이되지 않는 답변입니다. 우리는 사람들이 이러한 질문을하는 것을 멈추지 않을 것입니다. 그래서 가장 좋은 방법은 우리가 그들에게 빠르게 대답 할 수있는 방법을 이해하는 것입니다. 그리고 효과적으로.

    아이러니하게도 이러한 나쁜 답변과 응답은 가장 도움이 되고자하는 사람들이 제공하며 포럼에서 가장 평판이 좋은 사람들이 제공 할 수 있습니다.

    XY 문제와 관련된 심리학을 이해하고 질문의 OP를 작업 솔루션으로 이끄는 데 도움이되는 것으로 보이는 이러한 질문에 답하는 방법을 발견했습니다.이 방법은 답하는 데 시간이 조금 더 걸립니다. 첫 번째 인스턴스이지만 Q / A 루프를 훨씬 더 빨리 닫습니다.

    질문에 세 부분으로 답하고 다음 순서로 대답하는 것이 좋습니다.

    1. OP의 질문에 답변합니다 . OP에 다른 것이 필요할 수 있지만 실제로 먼저 질문 한 질문에 답변하는 것을 소홀히하지 말고 답변을 원한다고 생각하는 질문에 답변하지 마십시오. 어떤 경우에는 “Y is not possible”이 될 수 있습니다. 너무 자주 “왜 필요한가요?”라는 응답 (댓글)을 봅니다. 이것은 OP에 아무것도 제공하지 않습니다. “그건 정말 힘들 겠네요. 필요한 이유를 설명해 주시면 도움을 드릴 수 있습니다. “ 많은 경우 OP는 단순히 “Y is really hard “를 취하고 도면으로 돌아갑니다. . 질문에 답변 하셨기 때문에 괜찮습니다. 질문 X를 가지고 돌아올 수도 있습니다.

    2. 토론 OP가 시도한 솔루션 . 이 비트는 까다 롭고 약간의 생각이 필요합니다. 그러나 이것이 얼마나 중요한지 강조 할 수는 없습니다. OP가 Y를 요청했고 그들이 X를 원한다고 생각하면 질문에 답한 후 (1) Y에 대해 계속 이야기하십시오 (X가 아님). Y는 무엇을 위해 사용되어야합니까? X에 어떻게 적용되지 않습니까? 중요한 것은 질문에 대해 계속 이야기하되 답변에서 유용한 정보를 제공하는 것입니다. 결국 OP에 필요하다고 생각하는 것이기 때문입니다. 질문에 대한 답변이 아닌 유용한 정보입니다.

    3. 해결 X 이것이 당신이 가려 웠던 일이며 결국 응답의 요점입니다. 당신은 그들의 조건에 따라 OP를 만났고 그들의 질문에 대답했습니다. 당신은 그들이 질문의 실패와 왜 Y를 푸는 것이 할 일이 아닌지 이해하도록 도왔습니다. 그래서 이제 당신은 해결책을 설명하는 데 완전히 정당화됩니다. X에.

    대부분의 사람들은 여기에서 배우기 위해 여기에 있습니다. 따라서이 답변의 파트 1과 2는 파트 3만큼 중요합니다. 그러나 너무 자주 파트 3이 여기에 있습니다. ” 많은 OP는 말할 것도없고 OP에 매우 실망스럽고 애용하는 것은 답변을 받아들이지 않을 것입니다.

    이 답변을 제공하면 실제로 OP에 XY 문제가 있다고 생각할 때 당황하지 않습니다. 당신이 한 모든 것은 약간의 추가 정보를 제공하는 것입니다. 단순히 질문을 읽지 않은 것처럼 보이는 3 부 위험을 줄뿐입니다.


    부수적으로. 질문을 다시 읽고이 답변을 읽으십시오 … 세 부분을 확인 하시겠습니까?

    댓글

    XY 문제에 대한 답변 제공 “?

  • @PeterKrauss 어떤 의미에서. 그것은 가정에 가깝습니다. (커뮤니티가해야한다는 데 동의합니다) . 나는 질문에 답하는 누군가가 파트 3-올바른 가설을 제공하고 싶어한다고 가정합니다. XY 문제의 문제는 낭비되는 시간에 있습니다. 따라서이 답변의 초점은 파트 1과 2를 미리 제공하는 데 시간을 보내는 것이 시간 낭비가 아니라 실제로 장기적으로 시간을 절약한다는 점을 강조하는 것입니다. 이 답변이 잘못된 가설 사용 에 대해 일반화 할 수 있다는 것이 맞습니다.
  • 너무 자주 OP가 Y에 대한 답변을 취하고 Y를 읽거나 인식하지 않고 실행합니다. X에 대한 잘못된 솔루션입니다.이 때문에 ‘ 오용 될 답변을 제공하지 않습니다. 저는 ‘ 잘못된 코드와 결함이있는 논리에 더 많은 기여를하는 것보다 올바른 솔루션을 얻기 위해 그들을 공격 할 위험이 있습니다.
  • @Tom That ‘ 괜찮습니다.이 경우 ” 정말 어려운 것을 요구하는 경우 ” 또는 “이 작업을 ‘해서는 안됩니다. ‘ 정말 나쁜 생각입니다. ” 유형 부분 (1)은 완전히 적절합니다.
  • 이 글을 다 읽은 후 크게 웃고 다시 확인했습니다. 훌륭한 답변, 탁월한 관찰, 모범적 인 리더십.
  • 이 사이트의 목적은 원래 질문을 한 사람을 도울뿐만 아니라 다른 사람을위한 저장소를 만드는 것입니다. 나중에 질문을 찾는 사람. Y가 X를 수행하는 올바른 방법이 아니더라도 다른 상황에서는 그 자체로 유용 할 수 있으므로 Y라고 대답하는 것도 가치가있을 수 있습니다.
  • 실제로 실제 질문에 대한 답을 제공하는 반면 다른 사람들은 사실을 간단히 언급했습니다.
  • 답변

    (이것은 설명보다 의견이 더 많기 때문에 다른 답변과 분리됨)

    “XY 문제”가 “잘못된 작업 가설 사용”에 대한 또 다른 (더 전문적인) 용어라는 데 동의한다면, 여기에서 설명 및 설명 하며 “Einstellung 효과”와 유사합니다. 여기 @Jonathan Benn이 설명 함

    몇 가지 주요 상황으로 생각할 수 있습니다.

    • 돌진 상황 : 잘못된 가설은 언어 또는 지나치게 단순화 된 부작용 일 뿐이며 사용자가 약간 더주의를 기울이고 투자하면 수정할 수 있습니다. 질문을 수정하는 데 더 많은 시간을 할애하세요.

    • 일반 상황 : 일러스트 미시 ng 스퀘어 퍼즐, 당신은 당신의 가설이 틀렸다는 것을 모릅니다. 이것이 여기서 논의 할 주요 상황입니다 (!).

    그러니 정상 상황에 초점을 두도록하겠습니다.


    해결책 / 유치 제

    XY 문제는 유효한 문제입니다.

    Stack Exchange 질문은 문제를 표시하는 것입니다. 내 질문이 진짜 문제는 내 잘못된 가설 입니다. 괜찮습니다. 첫 번째 단계 이며 올바른 가설 을 얻은 후에는 다른 질문이 필요하지 않을 것입니다. em> (그리고 혼자 해결하려고 함).

    예. “ XPath for xml : lang? 속성 자체 축 테스트 실패 “. 실제 문제는 @attribute::self이 존재하지 않아 질문 제목에 대한 잘못된 가설이었습니다.

    help/mcve 솔루션에는 제한이 있습니다.

    Stack Overflow “의 help/mcve 근거 : “ M 최소, C omplete 및 V 인증 가능한 E 를 만드는 방법 em> xample “은 XY 문제를 방지하는 데 사용할 수 있습니다.

    그러나 편집 비용 (시간과 관심이 비쌉니다) 그리고 그것이 당신의 텍스트에서 일종의 오염이라는 인식 (질문에 대한 “나쁜 마케팅”)은 단점입니다.

    문제를 단순화하는 것도 맞습니다. 요점에 더 초점을두고 설명합니다.


    모범 사례

    Stack Overflow 사용자에게 단순화가 타당한 지 확인하도록 교육하십시오. 좋은 질문에 대한 알고리즘 :

    1. MCVE를 만들어보십시오.

    2. MCVE가 pr이 아닌 경우 최소한 단순화하려고 노력하십시오.

      2.1. 테스트, 불일치 확인, 리더 시뮬레이션 … 및 검토. 단순화가 이상한 것을 생성하고 컨텍스트를 변경합니까? 오류를 방지하려면 검토하세요.

    3. 질문에 대한 댓글을 들어보세요. , 명확하게하기 위해 필요한 경우 작업 질문을 수정 해보십시오. 댓글을다는 사람이 있으면 주의 질문에 더 많은 시간을 투자 할 수 있습니다.

    잘못된 가설은 자명하지 않지만 단순화하면 잘못된 결과가 증폭되고 더욱 분명해집니다.


    PS : 반면에 모든 세부 사항, 모든 컨텍스트를 설명하고 표시하고 실제 요점을 확인하면 문제의 조립 (예 : mcve 사용시), 불일치는 더 많은 증거와 함께 나타납니다.

    댓글

    • ‘ MCVE는 더 많은 XY 문제를 만듭니다. 원래 질문의 컨텍스트를 제거하여 더 순수한 추상화를 만듭니다. 그것은 X가 원래 질문의 맥락에 포함될 수 있지만 MCVE는 오로지 Y를 표현하기 위해 구성 될 것입니다.
    • @couling (!)에게 감사드립니다. 예, 방법론 MCVE는 아마도 ” 모범 사례 “가 아니지만 ” … 모든 세부 정보를 설명하고 표시합니다 … “. 우리의 두뇌는 이런 종류의 자체 검토 후에 더 잘 작동합니다. 텍스트를 편집하고 수정할 수 있습니다. 위키입니다.

    답변

    노조 계약 협상 …

    XY 문제는 “이자”기반 교섭 (X)과 “지위”기반 교섭 (Y)의 차이와 관련이 있습니다.

    X = 직원의 전체 집으로받는 급여는 지난 몇 년간 정체 된 반면 생활비는 지속적으로 증가합니다. 직원은 더 많은 집에서받는 급여가 필요합니다.

    Y = “당신은 주차비를 인상하지 않을 것입니다”를 죽음의 언덕으로 선택 / 직원이 기꺼이 받아 들일 X에 대한 유일한 “해결책”.

    Y를 목표로하는 것 (입장하기)은 문제 (X)에 대한 매우 구체적이고 제한된 해결책을 목표로합니다. 매우 구체적이고 제한된 방법으로 만 해결되어야한다고 주장함으로써 문제 (X)에 대한 솔루션의 세계에서 직원을 차단합니다. 그 방식 (Y)이 어떤 이유로 든 고용주에게 불쾌감을 준다면 교착 상태가 될 것입니다. 즉, X에 대한 해결책이없고 양쪽 모두에게 해결책이 허용되어야하는 시간입니다.

    직원이 Y 대신 X를 목표로 할 수 있다면, 해결책의 세계는 열려 있거나 제한되지 않으며, 고용주는 X에 대한 가능한 해결책을 찾는 데 도움을 줄 수 있습니다. 직원은 생활비를 인상하는 대가로 주차 요금을 인상합니다 …)

    이 관심 / 직위 패러다임은 OP가 자신의 직책을 수행하는 데 도움을 요청할 때 SO에 대한 질문과 관련이있는 것 같습니다. 때로는 간단히 “왜이 작업을하려고합니까?”라고 질문하여 X로자를 수 있습니다. 하지만 때때로 Y를 목표로하는 것이 그다지 가치가 없는지 궁금합니다. 우리 중 얼마나 많은 사람들이 무언가를 시도해 보았습니다. 우리가 할 수 있는지 알아보기 위해 여기에있는 사람은 누구나 특정 유형의 소프트웨어를 사용하여 자신의 DNS 서버를 실행하고 있습니다. 이유? 🙂 X에 대한 최선의 해결책은 아니지만 여전히 흥미 롭습니다 …

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다