1. Спільнота

JavaRush орієнтований на великий обсяг практики — вона займає понад 80 % усього процесу навчання. Ми перетворили цей процес на великий і цікавий квест (навіть цілу серію квестів).

Але всі люди різні: хтось навчається швидше, а хтось — повільніше. Комусь новий матеріал дається легше, а комусь складніше. І наше завдання полягає в тому, щоб до фінішу дійшов кожен із наших учнів. Принаймні ми до цього прагнемо.

Програмісти в нашому світі — це не просто кілька мільйонів людей, які пишуть код різними мовами та у вільний час створюють стартапи. Вони об'єднані в глобальну мережу, всередині якої постійно діляться знаннями з іншими, готові відповідати на запитання й допомагати розбиратися в складних темах.

Найбільша в світі спільнота розробників — сайт StackOverflow — зародилася саме з потреби програмістів переймати знання один в одного. Її ідея проста: ви ставите запитання, і будь-який програміст у світі може на нього відповісти. Зручно, чи не так? 🙂

Ми на JavaRush вважаємо обмін знаннями між учнями величезною цінністю. Допомагаючи іншим, програміст розвивається сам. І немає кращого способу в чомусь розібратися самому, ніж пояснити це іншій людині. Саме тому ми створили на сайті спеціальні розділи, де всі наші учні мають змогу ділитися знаннями й допомагати один одному в процесі навчання.

Отже, що робити, якщо ви застопорилися на черговий задачі? Шукати готове розв'язання в інтернеті — погана ідея. Так, задачу буде зараховано, якщо просто скопіювати чиєсь розв'язання. А от прогалина в знаннях нікуди не дінеться та в майбутньому обов'язково дасться взнаки.


2. Запитання щодо задач

Вимоги, рекомендації та віртуальний ментор — це справді круто. Але що робити, якщо валідатор усе ще не приймає ваше розв'язання, а в чому помилка — незрозуміло?

І на цей випадок у нас є рішення. Зустрічайте — розділ «Допомога». У цьому розділі сайту учні JavaRush можуть ставити запитання щодо задач, аналізувати розв'язання один одного, а також давати поради та підказки. Публікувати правильні розв'язання не дозволено.

Звучить дуже просто й примітивно, проте насправді все якраз навпаки.

По-перше, для кожного запитання можна вказати задачу, з якою воно пов'язане. Тому вам немає потреби копатися у всіх запитаннях, якщо вас цікавлять запитання щодо конкретної задачі. Ви завжди можете легко відфільтрувати запитання тільки щодо тієї задачі, яка вас цікавить. Просто введіть назву задачі в рядку пошуку:

По-друге, якщо ви під час розв'язування задачі у WebIDE натиснете кнопку «Допомога спільноти», то відразу перейдете до розділу «Допомога», в якому будуть відфільтровані лише запитання щодо тієї задачі, яку ви розв'язували у WebIDE.

По-третє, аналогічний функціонал доступний і в плагіні до IntelliJ IDEA. Ви можете натиснути кнопку «Допомога» або комбінацію клавіш Ctrl+Alt+W, і відразу відкриється браузер із відкритим розділом «Допомога». І, певна річ, у ньому вже будуть відфільтровані лише запитання щодо тієї задачі, яку ви розв'язуєте в IntelliJ IDEA.


3. Створення свого запитання

Якщо ви не знайшли хорошого аналізу своєї помилки в розділі «Допомога», то завжди можете створити власне запитання. Зробити це досить легко: потрібно лише натиснути кнопку «Запитати» й заповнити відповідні поля:

На відміну від багатьох інших сервісів на кшталт StackOverflow, Toster тощо, JavaRush не вимагає, щоб ви вмістили всю важливу інформацію в заголовок запитання. Пишіть запитання так, як вам зручніше.

І до речі, вам не потрібно копіювати код свого розв'язання з WebIDE або Intellij IDEA та додавати його до запитання. Під час створення запитання щодо задачі до нього автоматично буде додано код вашого розв'язання та інформацію про статуси вимог: які вимоги у вашому розв'язанні виконано, а які — ні.

Як наслідок, усі користувачі JavaRush одразу бачать усю потрібну інформацію щодо розв'язання користувача, і тому дати йому слушну пораду набагато легше.


4. Код розв'язання

На багатьох сайтах під час створення запитання щодо коду потрібно або прикласти до запитання архів із файлами програми, або всі ці файли додати до тексту запитання. У підсумку виходить довжелезна «онуча», і розбирати її немає ні бажання, ні можливості.

Швидко та якісно поставити запитання — це справжнє мистецтво. На звичайних сайтах вам доведеться або витратити пів години на оформлення запитання, або змиритися з тим, що вам ніхто не відповідає. Хороше запитання щодо задачі обов'язково має містити такі дані:

  • посилання на задачу, яку розв'язує користувач;
  • умову задачі, щоб не треба було нікуди переходити в її пошуках;
  • код розв'язання: може бути багато файлів;
  • статуси вимог до розв'язання: що працює, а що — ні;
  • текст запитання: зазвичай і так усе зрозуміло — не працює, чому — хтозна.

У JavaRush для відображення цієї інформації використовується спеціальний віджет, дуже схожий на віджет WebIDE. Адже його вже спроєктовано для відображення всієї вищезазначеної інформації. Ну хіба за винятком власне запитання користувача.

Так, ми написали спеціальній віджет лише для того, щоб вам було зручно аналізувати розв'язання інших користувачів. І щоб іншим користувачам було легко й приємно аналізувати ваші розв'язання у ваших запитаннях.