Ш++ IDE

Код задач Zero ми радимо писати в нашому редакторі: https://js.ide.shpp.me.

Він ідеально відповідає задачам курсу, а головне - працює "з коробки". Не потрібно нічого встановлювати: просто відкриваєте сторінку в браузері й одразу пишете код.

Запуск програми

Автотести

Коли вирішили задачу — можете протестувати ваше рішення. Для цього потрібно обрати задачу в переліку вгорі:

І тиснемо "Протестувати": так побачите, чи вірно працює ваша програма

Зверніть увагу: якщо обираєте задачу — посилання на неї має автоматично додатись в перший рядок кода (як комент).

Про всяк випадок: задачі — в кінці кожного розділу після теорії. Також вони є прямо в боковому меню. Наприклад:

А ось вони ж у меню вибору тестів Ш++ IDE (відповідно розділені на частини):

Автотести є для більшості задач, але не для всіх. Якщо для даної задачі автотести не передбачені, з'явиться таке повідомлення:

Наразі таких задач лише дві, тому не переймайтесь: без тестів протягом курсу ви не залишитесь.

Якщо рішення вірне

Якщо рішення невірне

Якщо хоч один тест із переліку не проходить - тестування зупиняється, а на консоль виводиться інформація про те, який саме тест провалився найпершим. Під ним буде два блока: що видав ваш код на цьому тесті, та як мало бути:

Невидимі символи

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

Це·точки·між·словами та в кінці кожного рядка.

Це візуалізація пробілів та переносів рядка. Тести перевіряють, чи виведені на консоль символи збігаються з "еталоном". А пробіли та переноси - це теж символи, хоч і невидимі. Тож, якщо ваш код виводить на консоль більше чи менше пробілів / переносів, ніж треба за умовою задачі - тест провалиться.

Оскільки побачити пробіли та переноси рядків не можна, Ш++ IDE візуалізує їх для вас у тому разі, якщо тест не пройшов. Завдяки цьому, якщо проблема буде саме в невидимих символах, ви легко це побачите.

Автоформатування

Коли запускатимете автотести, код автоматично відформатується за прийнятим у Ш++ стилем: IDE прибере зайві пробіли, рознесе "здвоєні" команди по окремим рядкам і т.д.

Автоформатування виправляє лише взаємне розташування елементів, але не чіпає їх "нутрощі". Рядки в лапках залишаться без змін, і на консоль виводитиметься те ж, що і до автоформатування, тому воно ніяк не вплине на проходження тестів.

Посилання на код

Якщо вам знадобиться допомога з кодом, або ви захочете скинути рішення на рев'ю — цей код треба показати. Оскільки весь код зберігається локально в cookies, ви не зможете просто скинути посилання на https://js.ide.shpp.me - на іншому комп'ютері за цим посиланням буде інший код. Тому ми додали кнопку "поділитись посиланням".

Коли ви тиснете її - наш бот заливає ваш код на наше сховище і генерує URL.

При цьому він автоматично копіюється у ваш буфер обміну, його можна одразу вставляти в повідомлення. За цим посиланням буде сторінка IDE з кодом.

І от цей URL вже можна скидати іншим: відкривши його, людина бачитиме той код, який ви зберегли.

Обмеження при створенні посилань

Вам потрібно обрати задачу, код до якої ви написали - інакше IDE не дозволить створити посилання:

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

Зум

Якщо шрифт для вас занадто маленький, або навпаки — завеликий, можна змінити розмір цими кнопками

Вони працюють незалежно: у консолі - свій розмір, у полі для коду - свій.

Тобто пропорції ви обираєте окремо для кожної половини, і це доволі зручно.

Про підлітковий курс

Пункт про підлітковий курс прибирає кнопку автотестів.

А замість посилання на задачу додає посилання на Google Doc для підліткового курсу

У підлітків задачі схожі, але не ідентичні. А IDE у всіх одна й та сама. Тому цей "костиль" потрібен, щоб ніхто не плутався.

Збереження коду

Якщо ви перезавантажите браузер - код в редакторі збережеться. Майже завжди. "Майже" - бо він зберігається у вас на комп'ютері, і ви можете випадково видалити файли коду разом зі службовими файлами браузера.

Тому, якщо ви хочете зберегти код гарантовано - краще дублюйте його на Pastebin, Replit, JSFiddle чи будь-який інший сервіс на ваш смак. Або створіть посилання на власний код і зробіть закладку в браузері.

Last updated