Девять кругов чата

05 января greabock

UPDATE : По просьбе пользователя @aios - админстратора сообщества Vue.js, данные правила распространяются и на чаты vuejs-ru.


Я — автор сего опуса — один из старожилов и завсегдатаев LaravelRUS чата на gitter.im и кое-чего смыслю в устройстве этого сообщества, да и в самом Laravel.

Laravel на сегодняшний день самый популярный на западе php-фреймворк (на территори СНГ лидерство пока удерживает Yii). Популярность его сложилась не на пустом месте — этот фреймворк сделан для людей. Но люди так устроены, что не всегда готовы к тому, что кто-то лучше них самих знает, что именно для них хорошо. По этой причине многим новичкам кажется, что некоторые вещи излишне усложнены и непонятны. А когда что-то непонятно, то хочется, чтобы кто-то тебе это объяснил. И этот путь приводит новичка в Laravel-сообщество. Здесь-то и начинаются настоящие круги ада.

Круг первый: оформи код

Никому не хочется разбираться в беспорядочном наборе символов, и пытаться понять что там написано, верно? Вы же сами наверняка пользуетесь подсветкой синтаксиса в вашем любимом редакторе и используете моноширинный шрифт, так? А почему вы это делаете? Потому что так код выглядит более упорядоченным и систематизированым. И поэтому код нужно оформлять. В чате нет BB-кодов, но есть Markdown, Почему именно маркдаун? Потому что =) (на самом деле на то есть объективные причины, но статья не об этом). Он сейчас везде — просто смиритесь и изучите его (потом спасибо скажете).

Если кусок кода слишком большой (целый класс, контроллер, например), то лучше вынести его на pastebin.com, laravel.io, или gist.github.com. C гистами всё несколько сложнее, но об этом чуть ниже.

Круг второй: заворачивай ссылки в код

Проблема в устройстве самого гиттера. Дело в том, что гиттер имеет неприятную особенность: он встраивает некоторые ресурсы, ссылки на которые были указаны в сообщении, прямо в чат. Создатели хотели сделать «как лучше», и это действительно удобно для небольших чатов, но создает проблемы при множестве параллельных бесед в рамках одного канала. Это касается таких ресурсов как youtube.com, twitter.com, большинства изображений, а также gist.github.com (скорее всего я забыл упомянуть еще о чем-то). Очень неприятно, когда ты ведешь с кем-то паралленьную беседу и вдруг кто-то перекрывает весь чат огромным гистом или видео с Youtube. По этой причине, хорошим тоном считается завернуть ссылку в маркеры кода markdown. Вообще, если изображение небольшое (не больше 150px в высоту), и имеет прямое отношение к теме беседы, то никто жаловаться не будет.

Круг третий: исправляй свои ошибки

Все мы люди, и иногда мы что-то забываем (например ту же ссылку в код завернуть) или нас просто «заносит». Бывает, что вырвется таки «крепкое словечко». Если это нарушение не является систематическим, и не оскорбляет никого лично, то скорее всего вы получите простое предупреждение. В любом случае, вы в течение десяти минут можете исправлять собственные сообщения в чате. И если кто-то попросил вас завернуть ссылку/картинку в код, то будет очень неплохо это сделать. Этим вы покажете, что уважаете пространство чата. Что касается матов, то за них можно просто схлопотать бан. Давать предупреждение или сразу бан — это сугубо на усмотрение модератора, так что просто старайтесь следить за своей речью. Иногда бан можно схлопотать и без матов, если модератор решит, что автор сообщения тролль и/или решил развести холивар ради холивара (холивары в поисках истины — наоборот приветствуются).

Круг четвертый: кури доки

Просто кури доки. Это не грубость — это натуральная правда. Дело в том, что на прочтение всей документации целиком уйдет всего порядка 3-5 часов (зависит от вашей скорости чтения). Никто не требует от вас сразу понять все, что там написано. Но после прочтения вся документация в вашей голове «проиндексируется» и когда возникнет все-таки какой-то вопрос, то скорее всего вы уже будете знать, где примерно искать на него ответ.

Круг пятый: ты язык сначала выучи, а потом фреймворк пробуй

Не так давно, девушка в сообществе пожаловалась, что потратила полгода на изучение голого PHP, когда надо было сразу учить фреймворк. Весьма спорное утверждение. От себя скажу, что полгода на изучение PHP (да вообще любого языка) — это ничего. За это время вы изучите только синтаксис и некоторое количество базовых приёмов. Ответьте себе на простой вопрос: сколько типов данных в изучаемом языке? Если ответ не отскакивает от зубов — бегом курить доки. Чем отличается атрибут private от protected? Если сложно дать четкий ответ — бегом курить доки. Что случится если инкрементировать пустую строку? И хотя в доках конкретно про это не написано, но если захочется понять почему именно так — все равно курить доки.

Все это совсем не означает, что вы не можете изучать язык и фреймворк одновременно. Однако, следует понимать что некоторые моменты вы просто не сможете понять не имея достаточной базы. Банальный пример - я раз двадцать читал в чате подобный вопрос:

не могу в доках по Laravel найти описание функции compact()

Ну что тут скажешь? В общем и целом, не стоит обижаться на подобные заявления. Но нужно быть готовым к тому, что они будут. И язык учить все равно надо. Пусть не сначала, но хотя бы параллельно.

Круг шестой: здесь никто никому ничем не обязан

И это правда. Следует понимать, что никто не платит денег за ответы «знатокам». Так же следует понимать, что не все ответы идеальны потому, как невозможно знать всё. Я лично был свидетелем переписки в чате, когда один из новичков обвинял завсегдатая в том, что тот его «обманул». Это глупо — ведь человек просто ошибся. Мы все ошибаемся. Подобные ситуации редкость, но и такое случается.

Круг седьмой: говори по делу

«— Есть кто живой?»... и в ответ тишина. Шестнадцать человек прочитало этот вопрос, но никто не ответил. Почему? Потому что это бессмысленный вопрос. Кто-то живой есть всегда (ну или почти всегда). Задавайте сразу вопрос, и если кто-то может на него ответить, то он ответит. А «есть кто живой?» — это не вопрос, это не несущий никакой смысловой нагрузки вброс, с попыткой найти «жертву» для «потрещать». А в качестве вступления перед вопросом будет достаточно написать «Привет» - наш бот всегда с вами поздоровается и даже поинтересуется, как ваши дела :)

Круг восьмой: ставь вопрос правильно

Если вы не чувствуете себя более-менее уверенно во фреймворке в частности или в языке вообще, не стоит предполагать, что вы наверняка знаете в чем проблема. Если бы вы знали наверняка — вы бы не пришли с вопросом в чат. Если вы не уверены в терминологии, то старайтесь дать описание предметно: расскажите о том, что вы хотите сделать, а не о том как вы хотите это сделать. Я говорю об этом не просто так. В большинстве случаев, вы уже идете не тем путем и вам нужно понять где вы оступились. Во всех фреймворках есть свой «путь» - это никем не описанный набор правил того как принято решать те или иные проблемы. Иногда он не очевиден, но почти всегда он во благо и поможет избежать множества проблем.

Если вы чувствуете недостаток в знаниях, то не стоит задавать вопрос в духе «Как сделать то или это?». В большинстве случаев вы получите ответ «кури доки». Лучше спросите «где об этом почитать». Люди с куда большей готовностью поделятся ссылкой, чем будут полчаса «втирать» то, что в документации или статье и так неплохо описано. Кроме того, это покажет вашу готовность и желание что-то изучить, а не просто получить готовый рецепт - а значит и поднимет вас в глазах собеседников.

Круг девятый: говори «спасибо»

Единственным измерением «длины письки» в нашем чате является карма. Она ничего не решает и ничего не значит в плане принятия решений. Она лишь косвенно отражает вклад индивида в сообщество. Если вы получили ответ на свой вопрос, или хотябы наводку на него, то скажите @nickname спасибо. Наш карма-бот зачтет эту благодарность адресату.


Спасибо @jhaoda за коррекцию.