Ненормальное программирование
Программирование
Проектирование и рефакторинг
26 августа 2016

Как эмодзи могут улучшить ваш код (на самом деле)

Автор оригинала: TJ VanToll
Перевод Tutorial

Примечание переводчика: в перерывах между холиварами про JS предлагаю обсудить несерьёзную, пятничную тему:


Кто не любит эмодзи? Активно используя их в мессенджерах и почтовых приложениях, я решил проэкспериментировать с тем, как можно применить их с умом в повседневной разработке приложений. Хотя поначалу это была просто шутка, эмодзи действительно оказались полезными в ряде случаев. Как так?


Мы, программисты, читаем много текста — будь то код, логи, комментарии к коммитам, документация или что-либо еще. Эмодзи бросаются в глаза, и их гораздо легче найти на простыне текста, чем обычную строку. Быстрее поиск — выше продуктивность. Хотя даже если на вашей продуктивности это никак не скажется, пользоваться эмодзи — весело! Вот некоторые вещи, которые я опробовал на практике:


Эмодзи в комментариях


Например, вам нужно добавить предупреждение в код, наподобие такого:




Я регулярно пишу в коде подобные заметки, но годы опыта показывают, что никто их не читает — в том числе и я сам. Что могло бы сделать комментарий более заметным и привлекающим внимание? Например, эмодзи:




Поскольку эмодзи легче считываются при беглом просмотре текста, они могут оказаться полезными, если вы с коллегами договоритесь помечать ими определенные вещи:




Ну и опять же, даже если у вас нет практического применения для эмодзи в комментариях, общаться ими с товарищами по команде бывает забавно:


// Почему в этом месте программа падает?
// Сложность O(n²)


А поскольку это всего лишь комментарии, шанс что-то сломать очень мал.


Эмодзи в описаниях коммитов


Описания коммитов в основном довольно унылы, но эмодзи разбавляют обстановку. Я придерживался правила "не более одного эмодзи в сообщении" и пока в нем не разочаровался:



Примечание переводчика: в одном месте автор всё-таки нарушил свое правило


Хотя это несерьёзный пример, я хочу повториться — эмодзи улучшают читаемость. Если вы смотрите на огромный список коммитов, что в больших проектах не редкость, найти конкретный коммит в списке становится куда проще. В редакторе Atom от Github даже есть гайд по использованию эмодзи в коммитах.


Эмодзи в коде


Я еще не использовал эмодзи в "боевом" коде, но всё равно считаю, что и там им есть применение. Большинство языков поддерживают использование эмодзи в строках, что может оказаться удобным для оживления логов:




Эмодзи также позволяют объяснить серьезную концепцию из области программирования на легких, забавных примерах:




Как набирать эмодзи


Продуктивность в использовании эмодзи зависит от того, насколько удобно вам будет их набирать. Я пользуюсь глобальным клавиатурным сочетанием Ctrl + Cmd + Пробел в OS X, которое вызывает меню с эмодзи в большинстве приложений. Оно выглядит вот так (можете судить меня по списку часто используемых символов):



Кстати говоря, в Windows 10 есть встроенная поддержка эмодзи в экранной клавиатуре, которая также показалась мне довольно удобной.


Эмодзи и редакторы


Пользоваться эмодзи весело, но если ваш редактор их не поддерживает — увы. К счастью, большинство современных сред разработки присоединяются к эмодзи-революции. Я пишу эту статью в Sublime Text и там поддержка есть, хотя некоторые символы всё-таки искажаются.




Еще я пользуюсь Visual Studio Code, и это редактор справляется с задачей на ура:




Мой любимый терминал iTerm2 также поддерживает эмодзи. Вот так я отправляю новый коммит:




К сожалению, пока далеко не все программы поддерживают эмодзи. Многие из нас вынуждены работать с легаси-инструментами, в которых и с обычными-то символами бывают проблемы. Но мы можем это изменить. Если вы пользуетесь программой, в которой поддержки эмодзи нет — создайте тикет или отправьте запрос на добавление функционала. И да свершится революция эмодзи!


Примечание переводчика: хабрапарсер абсолютно не дружит с эмодзи, поэтому пришлось использовать картинки и смайлики.

Стали бы вы использовать эмодзи в своем проекте?
29.5% Да, в комментариях :) 276
22.8% Да, в описаниях коммитов :P 213
8.1% Да, в самом коде :D 76
8% Да, в других местах B) 75
17% Не уверен :| 159
13.2% Нет, понимаю плюсы, но подсознательно против :\\ 124
43.6% Нет, это кошмар >:E 408
Проголосовали 934 пользователя. Воздержались 156 пользователей.
+3
24,1k 44
Комментарии 76
Популярное за сутки