Jak zadawać pytania na forum

W poście Najczęściej spotykane błędy w pytaniach na forum opisałem najczęstsze i najbardziej frustrujące problemy z pytaniami na forach. W tym postaram się przekazać kilka rad jak unikać błędów podczas zadawania pytań, co robić aby pytanie było dobre i jak pomóc innym pomóc Tobie.

W skrócie można powiedzieć: wykaż minimum chęci i zainteresowania. Jeśli nie widać, że Tobie zależy na rozwiązaniu problemu, to tym bardziej nie będzie na tym zależało kompletnie obcym ludziom.

Dodatkowo, podobnie jak w metodzie gumowej kaczuszki, często sam akt przygotowywania opisu problemu jest wystarczający, aby znaleźć jego przyczynę i ją zlikwidować.

Nie antagonizuj społeczności

Być może jest to dla niektórych zaskakujące, ale pomocy udzielają wolontariusze. Zniechęcanie ich do pomocy nie jest sensowne, a okazanie im minimum szacunku jest naprawdę proste – wystarczy przestrzegać łatwych reguł danego serwisu. Najczęściej jest to coś w stylu:

  • wpisz swoje pytanie do wyszukiwarki i zobacz, czy nie ma na nie już odpowiedzi,
  • odpowiednio otaguj swoje posty (zgodnie z regułami, jeśli takie są skodyfikowane),
  • dodaj (lub nie) języki/technologie w tytule wątku,
  • w razie potrzeby popraw treść pod względem ortografii i składni.

Tytuł

Tytuł posta/zapytania to pierwsze, co większość użytkowników zobaczy. Jeśli będzie deskryptywny to może przypomnieć komuś, kto miał identyczny problem w przeszłości, jak sobie z nim poradził. Dobrym tytułem może być “Usuwanie liścia z drzewa BST” lub “Za długi czas obliczeń zadania PRIME_T na spoju”. Po przeciwnej stronie spektrum są “POMOCY!!!”, “Problem” lub “zadanie”.

Treść posta

Opisz swój problem:

  • “Nie działa”, “wywala się” lub “co jest źle” nie są akceptowalnymi opisami,
  • zamieść informację co robisz, jak próbujesz ten problem rozwiązać, jakiego wyniku oczekujesz, a jaki otrzymujesz,
  • jeśli trzeba przeklikać się przez menu, aby dojść do testowanego kodu (ogółem to powinno być zbędne, patrz niżej na sekcję MCVE), podaj sekwencję wyborów,
  • podaj konkretne dane, dla których otrzymujesz niepoprawny wynik,
  • zamieść odpowiednie fragmenty kodu, ale staraj się zamieścić tylko te powiązane z problemem (ale jeśli nie wiesz czy dany fragment jest istotny, to lepiej zamieść za dużo, również patrz niżej)
  • jeśli zamieszczasz kod:
    • upewnij się, że umieszczasz go w odpowiednich tagach, aby wyświetlić kod z kolorowaniem składni i stałą długością czcionki,
    • sformatuj go. Większość IDE pozwala na sensowne formatowanie kodu, są też formatery on-line, jak na przykład http://format.krzaq.cc.

Następnie, za pomocą funkcji podglądu posta, upewnij się, że wszystko wygląda zgodnie z zamierzeniami. Przede wszystkim sprawdź, czy nie ma w nim błędów w formatowaniu – czy wszystkie tagi oznaczające fragmenty kodu są poprawnie otwarte i zamknięte.

Tagi

Przede wszystkim – dostosuj się do zasad panujących w danym serwisie. Ale z reguły należy w tagach zamieścić technologię/język programowania i co bardziej zaawansowane problemy. O ile while nie będzie dobrym tagiem, to już neural-networks może być. Jeśli dana technologia może być opisana na kilka sposobów, np. C++/cpp/cplusplus dla języka programowania C++, znajdź kanoniczną formę zapisu dla danego serwisu.

Przygotuj dobry przykład problemu – MCVE

(treść bardzo mocno inspirowana opisem ze stacka)
Opisując problem, często zachodzi potrzeba przedstawienia go w postaci kodu. Do tego należy stworzyć odpowiedni przykład. Ta sekcja przedstawia rady jak stworzyć idealny przykład. O ile ideał nie zawsze jest możliwy do uzyskania, to warto do niego dążyć. Ponadto, w tym przypadku jest on osiągalny w znaczącej większości przypadków.

MCVE – Minimal, Complete, and Verifiable example, czyli:

  • minimalny – zawierający jak najmniej kodu, ale wciąż prezentujący opisywany problem,
  • kompletny – zawierający wszystkie niezbędne elementy do reprodukcji problemu (biblioteki, definicje, stałe itd.),
  • weryfikowalny – na pewno reprodukujący ten problem, najlepiej na jakiejś niezależnej platformie,
  • przykład.

Minimalny

Im więcej kodu zamieścisz, tym mniej ludziom będzie się go chciało czytać i tym ciężej będzie wyłapać faktyczne błędy. W ramach możliwości zamieść najmniejszy możliwy fragment kodu. Można to zrobić na dwa sposoby:

  • Utwórz nowy plik/projekt, przenosząc wyłącznie niezbędne fragmenty. Ta metoda jest szczególnie przydatna, gdy masz podejrzenia gdzie jest problem, a kodu w systemie jest zbyt dużo lub nie możesz go pokazać z różnych względów.
  • Dziel i rządź. Jeśli masz mniejszy projekt, ale nie wiesz gdzie jest problem, usuwaj kolejne fragmenty tak długo, aż problem zniknie. Gdy to się stanie, cofnij ostatnią zmianę.

Bardzo często, już podczas minimalizacji przykładu możesz znaleźć źródło problemu.

Warto zauważyć, że przykład ma być minimalny aby zwiększyć czytelność, a nie dla minimalizacji samej w sobie. Dlatego też nie minifikuj kodu, nie zmieniaj deskryptywnych nazw zmiennych, funkcji, klas, modułów itd. na jednoliterowe. No i oczywiście sformatuj kod, ale o tym już pisałem.

Kompletny

Upewnij się, że przykład się kompiluje/interpretuje/wstaw-czasownik (o ile pytanie nie dotyczy problemu z tą właśnie fazą). Jeśli potrzebne są jakieś ustawienia, zewnętrzne zasoby lub podpięte biblioteki czy importy, umieść je. Jeśli w innym pliku zadeklarowałeś jakąś funkcję lub klasę niezbędną do zobrazowania problemu, pokaż ją w przykładzie. W skrócie: niech przykład zawiera wszystkie niezbędne elementy do reprodukcji Twojego problemu.

Weryfikowalny

Upewnij się, że Twój przykład udowadnia istnienie tego konkretnego problemu i żadnego innego. Tak więc jeśli nie dotyczy błędu kompilacji, to niech kompiluje się bez zastrzeżeń. W miarę możliwości, upewnij się, że jest powtarzalny na innym systemie/maszynie. wandbox.org lub podobne strony pomogą w weryfikacji wyników na innej maszynie oraz w podzieleniu się tymi wynikami z innymi.

37 thoughts on “Jak zadawać pytania na forum

  1. witam serdecznie! Jestem nowy. Nie Jestem pewien czy dodałem mój post do odpowiedniego działu na stronce. Proszę o przeniesienie

    Pozdrawiam i mam nadzieje ze się przydam 🙂

    Edit: nie wiem czy dodal sie wczesniejszy post

  2. It’s very simple to find out any topic on net as compared to books, as I found this paragraph at this website. dehllap.se/map8.php kliar pГҐ kroppen levern

  3. Hey There. I discovered your weblog the use of msn. That is a really well written article. I will make sure to bookmark it and come back to read extra of your helpful information. Thanks for the post. I’ll definitely return. oreiep.se/map24.php robert pettersson takida flickvГ¤n

  4. I like the helpful info you provide in your articles. I’ll bookmark your weblog and check again here frequently. I am quite certain I will learn many new stuff right here! Good luck for the next! oratrg.se/map45.php libanesisk mat stockholm

  5. Greetings, There’s no doubt that your blog may be having internet browser compatibility issues. When I look at your site in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping issues. I merely wanted to give you a quick heads up! Apart from that, fantastic site! cator.munhea.se/map1.php hamburgare fetaost recept

  6. Great article! That is the type of info that are supposed to be shared around the web. Shame on the seek engines for not positioning this put up upper! Come on over and talk over with my site . Thank you =) sasilu.se/map41.php kan man använda lösögonfransar flera gånger

  7. Hello! I simply want to offer you a big thumbs up for your excellent information you’ve got here on this post. I am coming back to your web site for more soon. sollb.aperca.se/map7.php life and beauty vГ¤xjГ¶

  8. Hmm it seems like your website ate my first comment (it was extremely long) so I guess I’ll just sum it up what I wrote and say, I’m thoroughly enjoying your blog. I as well am an aspiring blog blogger but I’m still new to everything. Do you have any points for novice blog writers? I’d genuinely appreciate it. squgarik.se/map30.php ibs vad ska man Г¤ta

  9. Greetings! I know this is kinda off topic nevertheless I’d figured I’d ask. Would you be interested in trading links or maybe guest authoring a blog post or vice-versa? My site addresses a lot of the same topics as yours and I feel we could greatly benefit from each other. If you are interested feel free to send me an e-mail. I look forward to hearing from you! Superb blog by the way! mauno.munhea.se/map9.php matberedare bГ¤st i test 2016

  10. Spot on with this write-up, I really believe this site needs a great deal more attention. I’ll probably be returning to read more, thanks for the advice! tortm.aperca.se/map5.php kasta med flugspГ¶

  11. Everything is very open with a really clear explanation of the challenges. It was definitely informative. Your site is very useful. Many thanks for sharing! probduo.se/map25.php köpa duschkabin billigt

  12. I really like your blog.. very nice colors & theme. Did you design this website yourself or did you hire someone to do it for you? Plz reply as I’m looking to create my own blog and would like to know where u got this from. thank you squgarik.se/map20.php best moisturizer for normal skin

  13. With havin so much content and articles do you ever run into any issues of plagorism or copyright violation? My blog has a lot of exclusive content I’ve either authored myself or outsourced but it seems a lot of it is popping it up all over the web without my agreement. Do you know any methods to help prevent content from being ripped off? I’d certainly appreciate it. viesu.munhea.se/map2.php arganolja till ansiktet

  14. I visited various sites but the audio quality for audio songs current at this web site is actually superb. sasilu.se/map40.php kronans droghandel motala

  15. Thanks for one’s marvelous posting! I really enjoyed reading it, you are a great author.I will ensure that I bookmark your blog and will often come back very soon. I want to encourage you to continue your great job, have a nice evening! break.aperca.se/map12.php korta frisyrer med sidecut

  16. magnificent issues altogether, you just gained a new reader. What might you suggest in regards to your put up that you simply made some days ago? Any positive? oratrg.se/map16.php godt mod diarre

  17. My developer is trying to persuade me to move to .net from PHP. I have always disliked the idea because of the expenses. But he’s tryiong none the less. I’ve been using WordPress on several websites for about a year and am anxious about switching to another platform. I have heard great things about blogengine.net. Is there a way I can transfer all my wordpress posts into it? Any help would be really appreciated! egluopu.se/map38.php willys gГ¶teborg erbjudanden

  18. My spouse and I stumbled over here coming from a different web page and thought I may as well check things out. I like what I see so i am just following you. Look forward to looking at your web page repeatedly. prefi.munhea.se/map1.php apotek ГҐkersberga coop

  19. My relatives every time say that I am wasting my time here at web, but I know I am getting know-how every day by reading thes pleasant posts. oratrg.se/map35.php lГҐssmed lund bankgatan

  20. Admiring the commitment you put into your site and detailed information you offer. It’s great to come across a blog every once in a while that isn’t the same outdated rehashed material. Wonderful read! I’ve bookmarked your site and I’m including your RSS feeds to my Google account. tortm.aperca.se/map4.php boots med fГҐrskinn hГ¤st

  21. It is the best time to make some plans for the future and it’s time to be happy. I have read this post and if I could I desire to suggest you few interesting things or advice. Perhaps you could write next articles referring to this article. I desire to read more things about it! lanba.se/map29.php jack and jones online

  22. What’s Taking place i am new to this, I stumbled upon this I have found It positively useful and it has helped me out loads. I’m hoping to give a contribution & help other customers like its helped me. Great job. tortm.aperca.se/map1.php hГ¤ftiga halloween drГ¤kter

  23. you are really a good webmaster. The web site loading pace is incredible. It sort of feels that you are doing any distinctive trick. Moreover, The contents are masterpiece. you’ve done a wonderful task on this topic! probduo.se/map3.php naily naglar nГ¤ssjГ¶

  24. These are truly fantastic ideas in regarding blogging. You have touched some pleasant points here. Any way keep up wrinting. niwar.munhea.se/map11.php skin rolling face

  25. Hi there! Would you mind if I share your blog with my twitter group? There’s a lot of people that I think would really enjoy your content. Please let me know. Thank you squgarik.se/map2.php kur mot fГ¶rkylning

  26. Thanks designed for sharing such a fastidious thinking, piece of writing is good, thats why i have read it entirely veini.aperca.se/map8.php klarrött blod från ändtarmen

  27. I was recommended this web site by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my trouble. You are incredible! Thanks! panilul.se/map11.php bra olja till hГҐret

  28. You really make it appear really easy along with your presentation however I in finding this matter to be actually something which I think I’d never understand. It kind of feels too complicated and very vast for me. I am looking forward in your subsequent put up, I’ll try to get the hang of it! fiagh.aperca.se/map11.php ont lГ¤ngst bak pГҐ tungan

  29. An interesting discussion is definitely worth comment. I do think that you need to publish more on this issue, it might not be a taboo matter but usually folks don’t talk about these subjects. To the next! Cheers!! sasilu.se/map9.php uppgifter om fГ¶retag

  30. Hi are using WordPress for your blog platform? I’m new to the blog world but I’m trying to get started and create my own. Do you need any coding expertise to make your own blog? Any help would be really appreciated! goti.aperca.se/map1.php kunnen rimpels verdwijnen

  31. If you want to take much from this piece of writing then you have to apply these methods to your won webpage. skywe.munhea.se/map4.php ta bort navelpiercing

  32. I all the time emailed this website post page to all my associates, for the reason that if like to read it next my contacts will too. benmmdi.se/map24.php gel kit billigt

Leave a Reply

Your email address will not be published.