Table of Contents

Problem 'XY'

(przełożone i dostosowane z xyproblem.info)

O co chodzi?

Problem 'XY' polega na zadawaniu pytania na temat Twojej próby rozwiązania problemu zamiast pytania na temat początkowego problemu. Skutkuje to zmarnowanym czasem i wysiłkiem, zarówno ze strony osoby zadającej i odpowiadającej na pytanie.

Problem pojawia się gdy ktoś skupia się na próbie rozwiązania zamiast na wytłumaczeniu całej sytuacji od początku.

Co z tym zrobić?

  1. Zawsze podawaj możliwie szeroki kontekst swojego problemu razem z wszystkimi próbami rozwiązania.
  2. Jeśli ktoś, kto próbuje Ci pomóc prosi o więcej informacji, podaj je.
  3. Jeśli wykluczone zostały już inne rozwiązania, wspomnij o nich i powiedz dlaczego zostały wykluczone. Da to więcej informacji o Twoich wymogach.
  4. Nie bój się, że prosząc o rozwiązanie większego/początkowego problemu czynisz to trudniejszym dla osoby która Ci pomaga.

Pamiętaj: jeśli Twoja pierwsza diagnoza była celna, najpewniej nie potrzebowałabyś/potrzebowałbyś teraz pomocy.

Przykład

  <robert> Jak mogę zdobyć trzy ostatnie znaki nazwy pliku w Bashu?
  <alicja> Jeśli nazwa pliku jest w zmiennej: echo ${foo: -3}
  <alicja> Czemu trzy ostatnie znaki? Czego NAPRAWDĘ potrzebujesz?
  <alicja> Potrzebujesz rozszerzenia pliku?
  <robert> Tak.
  <alicja> Trzeba było tak od razu!
  <alicja> Nie ma gwarancji że każdy plik ma trzyznakowe rozszerzenie
  <alicja> więc branie na ślepo trzech ostatnich znaków nie rozwiązuje problemu.
  <alicja> echo ${foo##*.}