Tworzenie dobrego problemu

Wszystkie świetne projekty powstają na podstawie opinii użytkowników. Blockly używa problemów z GitHubem do śledzenia opinii. Na tej stronie szczegółowo opisujemy, jak napisać problem, który deweloper może z łatwością przeczytać i na niego zareagować. Dzięki temu jest większa szansa, że uda się rozwiązać problem z raportem o błędzie lub prośbą o dodanie funkcji.

Przygotowanie

Masz pytania?

Bardzo nas cieszy. Problemy z GitHubem nie są jednak zbyt dobrym medium. Jeśli masz pytania, odwiedź nasze forum dla deweloperów. Jeśli zadasz pytanie w tym miejscu, z większym prawdopodobieństwem otrzymasz szybką i wyczerpującą odpowiedź, bo jest tam mnóstwo programistów, którzy używają Blockly od lat.

Sprawdź, czy nie ma duplikatów

Zanim napiszesz jakikolwiek problem, zawsze warto sprawdzić, czy nie występuje już taki problem. Jeśli tak, nie musisz pisać samodzielnie. Zanim zaczniesz pisać, wyszukaj duplikaty i podobne problemy.

Jeśli znajdziesz pasujący problem, oznacz go kciukiem w górę lub dodaj komentarz ze szczegółowymi informacjami. Jest to szczególnie ważne w przypadku raportów o błędach i prośby o dodanie funkcji. Jeśli programiści zauważą, że problem przyciąga dużo uwagi, jest większa szansa, że zostanie on rozwiązany.

Zgłoś błąd

Czyli myślisz, że odkryłeś błąd? Świetnie. Bardzo lubimy otrzymywać zgłoszenia o błędach, bo chcemy, aby ten projekt był jak stabilny. Oto kilka czynności, które możesz wykonać, aby naprawić błąd.

  1. Sprawdzanie duplikatów
  2. Zbieraj dowody
  3. Znajdowanie problemu
  4. Ujednolicenie procesu reprodukcji
  5. Zaproponuj powód
  6. Napisz problem.

Zbieraj dowody

Ogólnie rzecz biorąc, im więcej informacji zawiera błąd, tym lepiej. Oto kilka informacji, które możesz podać:

  • Zrzuty ekranu lub GIF-y mogą być bardzo przydatne, jeśli błąd spowoduje problem z obrazem.
  • Przykładowy kod jest przydatny, jeśli błąd wpływa tylko na określone rodzaje bloków lub konfiguracji obszarów roboczych.
  • Witryna hostowana to świetne rozwiązanie, jeśli masz problem z odtworzeniem błędu w określonym środowisku.

Znajdź problem

Między podstawową biblioteką, wtyczkami, przykładami i ćwiczeniami z programowania mamy mnóstwo kodu Blockly. Pomóż nam, podając dokładnie, na czym polega problem.

Jeśli problem jest zasadniczy, jaki to element? Problem może na przykład dotyczyć zestawu narzędzi, elementów sterujących powiększeniem lub bloków biblioteki. Podaj jak najwięcej szczegółów.

Jeśli problem dotyczy próbek blokowych, ustal, w jakiej wtyczce, ćwiczenia z programowania lub przykład się on znajduje. Jeśli znajdziesz ten sam błąd w kilku miejscach, poinformuj nas o tym.

Umocnij swoją reprodukcję

Błąd można naprawić tylko wtedy, gdy da się go odtworzyć, więc przed zgłoszeniem problemu upewnij się, że masz solidny sposób na jego wystąpienie.

Na zakończenie otrzymasz ponumerowaną listę kroków z instrukcjami dla dewelopera, jak odtworzyć błąd. Na przykład:

  1. Otwórz ćwiczenia z programowania X.
  2. Idź do strony Y.
  3. Uruchom przykładowy kod Z.
  4. Zaobserwuj niewłaściwe działanie, np. W.

Jeśli problem jest związany z Blockly, spróbuj go odtworzyć na playground.

Zgłoś problem

Jeśli uważasz, że wiesz, dlaczego ten błąd występuje, podaj też tę informację. Postaraj się podać jak najdokładniejsze informacje.

Napisz swój problem.

Nadszedł czas na utworzenie raportu o błędzie. Wybierz repozytorium:

Pamiętaj, aby wypełnić wszystkie sekcje szablonu problemu, nawet te, które nie zostały tu opisane.

Dziękujemy za zainteresowanie zgłoszeniem błędu i życzymy udanych problemów.

Co dalej?

  • Raport o błędzie jest automatycznie oznaczony tagiem na potrzeby klasyfikacji.
  • Dyżurny członek zespołu Blockly zapozna się z ofertą i być może zada wyjaśniające pytania. Dodają też etykiety, dzięki którym możemy uporządkować błędy.
  • Problem może być oznaczony jako „Poszukiwana pomoc”. W takim przypadku możesz zgłosić do niego roszczenie i zacząć go rozwiązywać.
  • Problem może zostać przypisany do członka zespołu Blockly w celu jego rozwiązania.
  • Problem może być oznaczony kwartalnym kamieniem milowym w celu wskazania, kiedy zostanie rozwiązany.
  • Problem może być związany z jednym etapem pracy w Icebox, co oznacza, że nie planujemy pracować nad nim w najbliższej przyszłości.
    • Może się tak zdarzyć w przypadku problemów o rzadkiej częstotliwości lub błędów ze znanymi sposobami obejścia problemu.
    • Nadal możesz pracować nad problemami takimi jak Icebox.
  • Problem może być związany z etapem dotyczącym zaległości Bug Bash, co oznacza, że nie jest pilny, ale nadal chcemy go naprawić.
    • Pod koniec każdego kwartału zespół poświęca kilka tygodni na pracę nad błędami związanymi z kamieniem milowym dotyczącym zaległości Bug Bash.
  • W razie potrzeby problem można przenieść z głównego elementu do Blockly do próbek blokowych (lub w przeciwnym kierunku).
  • Problem może być zamknięty.

Propozycja nowej funkcji

Czy jest coś, co chcesz zmienić, aby ulepszyć Blockly? Może macie jakiś pomysł na wtyczkę, przykład lub ćwiczenie z programowania? Być może któryś z nich Ci się podoba i wymyślisz sposób, by go ulepszyć. Jeśli tak, jesteś we właściwym miejscu. Oto czynności, które pomogą Ci utworzyć doskonałą prośbę o dodanie funkcji, która zareaguje na użytkownika.

  1. Sprawdzanie duplikatów
  2. Sprawdź wymagania
  3. Zastanów się nad swoimi przemyśleniami
  4. Napisz prośbę o dodanie funkcji.

Sprawdź wymagania

Chcielibyśmy, aby każdy pomysł mógł trafić do tego repozytorium. Niestety jesteśmy tylko ludźmi, więc istnieją pewne wytyczne dotyczące tego, jakiego rodzaju wnioski będziemy realizować.

Oto wskazówki dotyczące projektów w różnych kategoriach:

  • Blockly Core
  • Wtyczki
  • Przykłady: pokaż, jak używać tylko 1 lub 2 funkcji Blockly.
  • Ćwiczenia z programowania: pokaż, jak wykonać 1 zadanie lub zaimplementować jedno działanie.

Nie są to jednak sztywne i szybkie zasady. Mają one zasygnalizować, czego oczekujemy, zanim poświęcisz czas na opracowanie propozycji funkcji.

Jeśli nie masz pewności, czy któryś z nich Ci odpowiada, opublikuj go na naszych forach dla programistów. Pamiętaj, że nawet jeśli Twój pomysł nie zostanie zaakceptowany, nadal będziemy bardzo wdzięczni, jeśli uda Ci się stworzyć go jako wtyczkę lub samouczek innej firmy.

Zbieraj pomysły

Przed przesłaniem pomysłu nie musi być ono w 100% wypełnione lakierami i diagramami, ale warto dokładnie przemyśleć, czego szukasz. Zanim zaczniesz pisać, odpowiedz na kilka pytań:

  • Dlaczego potrzebuję tej funkcji?
  • Czy ta funkcja rozwiązuje problem?
  • Kim są docelowi odbiorcy tej funkcji?
  • Dlaczego ta funkcja jest dla nich dostępna?
  • Jakie inne opcje mogłyby osiągnąć ten sam efekt?

Gdy to zrobisz, będziesz mieć większą szansę na zaproponowanie nowej funkcji.

Napisz swoją propozycję funkcji!

Teraz możesz napisać prośbę o funkcję. Wybierz repozytorium:

Pamiętaj, aby wypełnić wszystkie sekcje szablonu problemu, nawet te, które nie zostały tu opisane.

Dziękujemy za przesłanie propozycji funkcji. Życzymy miłego pisania.

Co dalej?

  • Żądanie funkcji jest automatycznie oznaczane tagami na potrzeby selekcjonowania.
  • Dyżurny członek zespołu Blockly zapozna się z ofertą i być może zada wyjaśniające pytania. Dodają też etykiety, dzięki którym możemy uporządkować błędy.
  • Funkcja może być oznaczona jako „Poszukiwana pomoc”. W takim przypadku możesz ją zgłosić i zacząć nad nią pracować.
  • Tę funkcję można przypisać członkowi zespołu Blockly w celu jej wdrożenia.
  • W razie potrzeby żądanie funkcji może zostać przeniesione z głównego rdzenia Blockly do zablokowanych próbek (lub w przeciwnym kierunku).
  • Prośba o dodanie funkcji może zostać zamknięta. W takim przypadku nadal możesz zaimplementować ją jako wtyczkę zewnętrzną.