====== Problem 'XY' ====== (przełożone i dostosowane z [[https://xyproblem.info|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. * Użytkownik chce zrobić **X**. * Użytkownik nie wie jak zrobić **X**, ale myśli że poradzi sobie robiąc **Y**. * Użytkownik tak samo nie wie jak zrobić **Y**. * Użytkownik prosi o pomoc z **Y**. * Inni próbują pomóc Użytkownikowi z **Y**, ale są skonfundowani ponieważ **Y** nie jest powszechnie rozwiązywanym problemem. * Po długiej wymianie okazuje się, że Użytkownik tak naprawdę chciał pomocy z **X**, a co gorsza **Y** nie było nawet stosownym rozwiązaniem **X**. 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ć? ===== - Zawsze podawaj możliwie szeroki kontekst swojego problemu razem z wszystkimi próbami rozwiązania. - Jeśli ktoś, kto próbuje Ci pomóc prosi o więcej informacji, podaj je. - 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. - 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 ===== Jak mogę zdobyć trzy ostatnie znaki nazwy pliku w Bashu? Jeśli nazwa pliku jest w zmiennej: echo ${foo: -3} Czemu trzy ostatnie znaki? Czego NAPRAWDĘ potrzebujesz? Potrzebujesz rozszerzenia pliku? Tak. Trzeba było tak od razu! Nie ma gwarancji że każdy plik ma trzyznakowe rozszerzenie więc branie na ślepo trzech ostatnich znaków nie rozwiązuje problemu. echo ${foo##*.}