Каждый декабрь несколько сотен тысяч разработчиков проходят Advent of Code, и многие выкладывают свои решения. Почти всегда картинками и почти всегда не того размера.

Почему побеждают картинки, объяснить легко: большинство платформ калечит вставленный код — отступы схлопываются, подсветка пропадает, и изящный однострочник превращается в нечитаемое месиво. Картинка переживает всё это. Но у неё есть настоящий недостаток, и о нём стоит сказать: картинку нельзя скопировать, найти поиском или прочитать экранным диктором, поэтому рядом публикуйте ссылку на исходник.

Показывайте интересную часть, а не файл целиком

Самая частая ошибка — снимок всего файла с решением. Картинку в 60 строк с телефона никто читать не станет. В решениях Advent of Code почти всегда есть ровно одна интересная мысль: разбор входных данных, рекуррентное соотношение, приём, превративший перебор в мгновенный ответ. Её и снимайте, а остальное пусть несёт ссылка на репозиторий.

Десять-пятнадцать строк — потолок того, что читается в ленте.

Подбирайте размер под площадку, а не под свой экран

Именно здесь большинство таких картинок и проваливается. Сниппет, отлично выглядящий на 27-дюймовом мониторе, в ленте превращается в шестой кегль.

  • Пост в ленте просит 16:9 или 4:3. Шире — и текст ужмётся, чтобы поместиться.
  • Вертикальная лента просит 9:16 или 3:4, что заодно совпадает с высокой узкой формой, которую решения имеют и так.
  • Где угодно экспортируйте в 2× или 3×: картинка в 1× на retina-экране выглядит мыльной и слегка любительской.

В Codeshot это раздел «Соотношение сторон» — переключиться с «Исходного» на «Фиксированное», выбрать пропорцию и задать масштаб экспорта. Каждый раз одни и те же три настройки.

Берите контрастную тему

Декабрьские треды — сплошная стена картинок с кодом, и читают те, которые понятны с одного взгляда. Контрастные темы держат мелкий текст лучше сдержанных. Tokyo Night, Atom One и Solarized выдерживают уменьшение; несколько малоконтрастных тем — нет.

Сравнить все 30 можно здесь, прежде чем выбрать одну на месяц.

Держите единый стиль все 25 дней

Если публикуете ежедневно, выберите тему, фон и пропорцию в первый день и больше их не трогайте. Единообразие — то, что делает серию узнаваемой в ленте. А ещё оно убирает те двадцать секунд возни, которые и есть настоящая причина, по которой люди бросают где-то на одиннадцатый день.

Нативное приложение здесь помогает тем, что запоминает настройки между запусками. Настроили первого числа — и каждый следующий день это вставить, экспортировать, опубликовать.

Про спойлеры

Создатель Advent of Code просит не выкладывать решения публично, пока не заполнится таблица лидеров. Сверьтесь с указаниями текущего года, а если сомневаетесь — публикуйте после закрытия дня, а не во время него.

Полный порядок действий описан в статье Как превратить код в картинку.