Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Jak formulovat dotaz a nahlásit chybu

Předtím, než položíš svůj dotaz do diskuze pod článkem, na komunitním Discordu, nebo nám ho odešleš e-mailem, zkontroluj prosím, zda neobsahuje nejčastější chyby, které se bohužel denně opakují. Pro efektivní řešení tvého problému bys měl položit svůj dotaz co nejlépe. Kvalitní odpověď lze výrazně ovlivnit několika maličkostmi.

Titulek / předmět e-mailu

Titulek či předmět e-mailu je první věc, kterou respondenti uvidí. Když z něho nebude jasné o jaký problém se jedná, odpověď bude trvat déle než obvykle a nemusí být zcela relevantní.

V titulku / předmětu e-mailu vždy uveď technologii a konkrétní problém, kterého se dotaz týká. Vyhni se nejasným nebo všeobecným popisům jako je například Problém!.

Pojďme se podívat na několik titulků dotazů, na které obvykle nikdo neodpoví. Dále se podívejme, jak by měly být správně formulované:

✗ Špatně

Pomoc

Chyba

Téma v lekci nechápu

✔ Správně

Webová stránka se na mobilu zobrazuje zmenšená a nečitelná

ERROR 200: StackOverflow - Recursion too deep

Nerozumím zapouzdření v lekci Hrací kostka v Javě

Pokud nazveme titulek Chyba, Problém či Pomoc, je téměř nemožné pochopit podstatu problému a poskytnout relevantní radu.

✗ Špatně

Notebook

✔ Správně

Notebook s výdrží 10 hodin pro školní potřeby do 15 000 Kč

Notebook je o něco lepší titulek než Chyba, ale stále nevíme o co se jedná, jelikož si tazatel nedal moc práce s formulací dotazu.

✗ Špatně

Reklamy na stránce

✔ Správně

Výběr společnosti pro zobrazování reklam na mém webu

Reklamy na stránce je zase o trochu lepší titulek - víme o co se jedná. Bohužel, ale nevíme s čím konkrétně má daný tazatel problém.

Text dotazu

Správně zvoleným titulkem vše jen začíná. Teď musíme potenciálnímu respondentovi v textu dotazu sdělit podstatu věci. Vyhýbáme se přitom dlouhým větám a sáhodlouhému vysvětlování. Nikomu se nebude chtít číst a řešit romány :-)

Snažíme se používat co nejméně slov a přitom vložit maximum přesných informací.

Pojďme si porovnat následující dva texty dotazu z diskuze pod článkem:

✗ Špatně

Dobrý den, snažím se zprovoznit knihovnu quickPDF, ale nejde mi to :-( Pořád to píše chyby s Object :D Nevíte co dělám špatně? :(

Text dotazu obsahuje mnoho slov a málo informací. Nejedná-li se o e-mail, není nutné zdravit. Psát tři smajlíky za tři věty není také příliš reprezentativní. Dále si všimněme, že zcela chybí konkrétní text chyby a také z textu není patrné, že by se tazatel alespoň snažil při jeho pokládání nebo že by se dokonce pokusil problém nějakým způsobem vyřešit.

✔ Správně

Snažím se zprovoznit knihovnu quickPDF, nicméně dostávám chybu Fatal error: Call to undefined method stdObject::render, která se způsobí když zavolám $pdf->save("faktura.pdf"). Knihovnu používám proto, že se mi nepodařilo rozjet tPDF na PHP 7. Kontroloval jsem autoloader a vše by mělo být načtené. Níže posílám blok kód se zdrojákem třídy, ve které metodu volám.

V tomto případě je text dotazu zcela jasný. Víme konkrétně při jakém volání kód nefunguje a také známe chybu, kterou program vypisuje. Zároveň víme důvod, proč tazatel postupuje tímto způsobem a máme k dispozici i část zdrojového kódu.

Struktura dotazu

V textu dotazu postupně uvedeme:

  • tvůj problém / dotaz,
  • dosavadní pokusy o vyřešení,
  • čeho chceš docílit.

První odstavec s problémem je druhá nejdůležitější část otázky, kterou si většina lidí přečte. Takže se snažme, aby byla plná důležitých informací a co nejsnadnější k přečtení.

Kromě samotného problému je vhodné uvést i zda jsme zkoušeli použít nějaká řešení. Vložíme na ně odkaz a zmíníme proč řešení nefungovalo nebo nevyhovovalo. Naše snaha motivuje ostatní členy komunity, aby se nám také pokusili pomoci.

Velmi často existuje elegantnější řešení než to, o které se pokoušíme. Proto uvedeme i jaký je náš cíl, kromě konkrétní chyby, kterou na cestě k němu řešíme.

Reprodukce problému

Pomozme druhým reprodukovat náš problém. Pokud je náš problém spojen s programováním, určitě spolu s dotazem přiložíme i zdrojový kód.

Nikdy nekopírujeme celý kód aplikace a už vůbec zdrojový kód nevkládáme jako obrázek!

V opačném případě zahltíme respondenta obrovským množstvím nepodstatného kódu, kvůli čemuž poté pravděpodobně nedostaneme kvalitní odpověď. Respondenti mohou našemu dotazu věnovat jen určité množství času, proto jej položíme tak, aby jej bylo možné v rozumném čase vyřešit. Když nevěnujeme čas kvalitnímu položení dotazu, nebude nám věnován čas k jeho vyřešení. Pojďme se podívat na body, které je vhodné dodržovat:

  • Připojíme pouze kód nezbytný k tomu, aby byli ostatní schopni reprodukovat problém.
  • Pro vložení části kódu použijeme tlačítko Vložit zdrojový kód nebo klávesovou zkratku Ctrl + K. Pro správné odsazení lze kód označit nebo umístit kurzor na začátek řádky a použít Shift + Tab pro zpětné odsazení a Tab pro odsazení. V případě e-mailu je vhodnější kód vložit do .zip archivu a poslat jako přílohu.
  • Pokud musíme zaslat delší kód, použijeme k tomu nástroj "Dev-Lighter"dev-lighter a připojíme k otázce pouze odkaz. Otázka tak nebude zbytečně dlouhá a bude se v ní lépe orientovat. Opět platí, že je vhodné k otázce přiložit i kratší část kódu.
  • Je-li možné vytvořit přímo spustitelnou ukázku, vytvoříme ji a přidáme na ni odkaz. Použít k tomu můžeme například http://sqlfiddle.com/ nebo http://jsbin.com. Kód však k otázce přiložíme také - odkaz může být v budoucnu neplatný.

Pokud narazíme na potenciální chybu na stránce, v článku či kvízu, přiložíme k dotazu screenshot. Na něm červeným obdélníkem vyznačíme konkrétní místa, ke je problém.

K vytvoření screenshotu můžeme využít vestavěný program Windows Výstřižky Shift+Win+S.

Specifičnost tématu

Mějme titulek Nepochopil jsem téma iterátory v lekci Iterátory v Pythonu. Titulek je zcela v pořádku, navede respondenta přímo tam, kde by se měl problém vyskytovat. Pokud ale v textu dotazu následuje sdělení Článek nechápu, Lekce je moc složitá, Nerozumím, Nedostatečně vysvětleno, opět nám nebude respondent schopný pomoci. ztížíme život. Dotaz musí obsahovat:

  • co konkrétně je složité,
  • čemu konkrétně nerozumím,
  • co se mi zdá nevysvětlené.

Dále je žádoucí specifikovat problém. Ale až poté, co jsem si jistý, že jsem:

  • lekci důkladně přečetl,
  • odprogramoval všechny ukázky,
  • pokusil se pochopit, jak vzorový kód funguje.

Discord, e-mail a další komunikační kanály

Pokud nepíšeme dotaz přímo do diskuze pod článkem, ale například do diskuze na Discordu nebo ho posíláme e-mailem, je důležité nakonec svého dotazu přilož odkaz na daný článek a své ITnetwork portfolio / profil.

Odkaz na kapitolu se tvoří pomocí najetí myší na titulek kapitoly a kliknutí na znak 🔗. Poté zkopírujeme URL z adresního řádku prohlížeče.

Před odesláním si svůj dotaz přečti

Zkus se vžít do situace, že svůj dotaz čteš poprvé v životě. Dává smysl? Zkus si podle popsaných kroků problém zreprodukovat v čistém prostředí a pouze s informacemi obsaženými v dotazu. Pokud chybí nějaký detail, dopiš jej a poté si celý dotaz raději ještě jednou přečti.

Buď připraven odpovídat na reakce

Poté, co dotaz odešleš, buď na příjmu a občas se podívej, zda ti někdo odpověděl - buď připraven upřesnit jakékoliv nejasnost a vyzkoušet navrhovaná řešení.

Stále si nevíš rady?

Pokud jsi článek přečetl až do tohoto bodu a stále si nevíš rady nebo nejsi schopný svůj problém popsat v dotazu, je na čase se obrátit na svého studijního referenta a domluvit si konzultaci s lektorem.

Ještě nejsi naším studentem? Rekvalifikuj se v našem akreditovaném kurzu pro junior programátory WWW aplikací. Nauč se pracovat s moderními nástroji budoucnosti a vybírej si z nekonečného množství pracovních nabídek. Nikdy není pozdě začít:


 

Aktivity