Pull to refresh

Сравнение «пастеорг» аля хостинг фрагментов кода

Reading time3 min
Views574
Начну немножко издалека. Расскажу, о чем будет идти речь.

Что такое пастеорга?


С некоторых пор (когда точно — не помню) я начал пользоваться некими сервисами, суть коих состоит во временном (или не очень) хостинге кусков кода. На практике это выглядит так: я хочу показать Васе Пупкину свою процедурку (совета спросить, али еще чего), в аське это сделать можно, но будет нечитаемо, да и править этот код в аське неудобно. Для того и сервисы — зашел, вставил код, получил ссылку, дал ссылку Васе. По ссылке будет код, подсвеченный причем. Удобно. Называются они неизвестно как, но есть тенденция (наподобии jeep и внедорожников, или pampers и подгузников :) называть их «пастеорги» (paste.org) или «пастебины» (paste.bin). Я буду называть пастеорги ибо привык.
Итак, не так давно я решил сделать свой такой сервис. Причин было несколько — это и наличие халявного хостинга с большим количеством места, и желание «прокачать» свои скиллы, и попытка сделать что-то более удобное, чем аналоги.

Началось с того, что я начал интересоваться у знакомых, какие минусы они видят у тех сервисов, которыми пользуются.

Кратенький обзор


  • paste.org.ru
    Приведу цитату:
    «Неудобства: поле „вставленного“ должно иметь моноширинный шрифт.
    Выбор способа подсветки ужасен — компоновка языков кошмарна, найти нужный язык в том выпадающем списке нереально.»
    Так что из минусов могу выделить выбор языка. Моноширинный шрифт видится мне не очень критичным минусом.
    Из плюсов отметить особо нечего — достаточно обычный ресурс, ничего особового я в нем не увидел.
  • everfall.com/paste
    Это тот ресурс, которым я какое-то время пользовался. Во первых, там есть история версий. Т.е. открыв чей-то код, я могу вставить новую версию этого кода. К этому прилагается неплохая подсветка (GeSHi), и несколько опций, типа «запретить редактирование» (читай вставку новой версии), срок хранения кода. Из минусов отметил все так же неудобный выбор языков в комбобоксе, тупо сделанную историю версий (т.е. при просмотре кода и наличии большого количества версий оного — будет страшно — попробуйте сами :).
  • codepad.org
    Здесь достаточно все просто. Из плюсов понравился выбор языков (но из за того, что список языков в виде радиокнопок — их мало), встроенный интерпретатор кода. В остальном — не очень, даже автора нельзя указать.

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

Что должно быть удобно?

  • Удобный выбор языков.
    Результаты обсуждений вылились в решение, в виде рейтинга языков. Я создал в БД таблицу — список языков и сделал там поле рейтинга языка. Чем больше вставок кода на языке X, тем выше рейтинг этого языка. В результате 10 языков с наиболее высоким рейтингом попадают в радиокнопки, также есть пункт «Другой», при выборе которого можно выбрать язык из комбобокса. В планах запись индивидуального рейтинга языков в кукисы каждого пользователя. Это даст возможность, сделать пастеоргу более удобной для каждого индивидуального пользователя. Также была высказана идея вывода списка языков в виде облака — достаточно интересная, но пока обсуждаем.
  • История версий, хорошо реализованная.
    Здесь обсуждали поменьше. То неудобство что было в пастеорге #2 — это при большом количестве версий, они занимают весь экран, и код оказывается не поймешь где. Хотя именно код — главный и приоритетный элемент страницы. Поэтому мы просто свернули блог истории версий по умолчанию. При клике на него — разворачивается. К тому же сделали два таких блока — сверху и снизу относительно поля с кодом, это может быть удобно, при большом размере последнего. Кстати в планах анализировать этот размер, и если он умещается на странице, блок снизу убирать.
  • Возможность «кастомизировать» хранение своего кода.
    Это, можно сказать, свистелки-перделки. Указать автора, запретить редактирование, срок хранения кода — все это было реализовано. Также была высказана идея сделать возможность «запароливания» кода, что мы также реализовали.

«Попробовать» сервис можно: code.shareservices.net
И не только попробовать, а и уже использовать (естественно все сделали бесплатно, и без всяких реклам).

Ну и напоследок...


Сейчас мы занимаемся разработкой плагинов для популярных IDE. Для Visual Studio почти готово. На самом деле, в разы уменьшается количество действий при использовании таких плагинов.
В планах еще много интересных и полезных фичей для сервиса. Так что, если кому стало интересно, и если кто хочет поучаствовать в проекте — мы только за.
Мораль: «Программист — даешь нормальный интерфейс!» (с) какой-то анонимус )

P.S. Хотя понятно, что делать интерфейсы не программист должен, но на практике почему-то все иначе.
Tags:
Hubs:
Total votes 17: ↑11 and ↓6+5
Comments48

Articles