
Knock
27.04.2017
11:52:31
Ну не знаю. Мне лично удобно нажимать tab и получать готовый форич цикл, например. Это реально ускоряет разработку.

Dmitry
27.04.2017
11:54:00
Во первых Форич есть не во всех языках, а во вторых сниппеты не имеют отношения к иде, они даже в блокноте есть. Запускать жвм на гиг оперативы ради этого - не супер удобно

Knock
27.04.2017
11:56:16
Ну и дебаггер конено же. Удобно не принтами все закидывать, а все-таки наблюдать это глазами в удобном виде.

Dmitry
27.04.2017
11:58:02
Дебаг уже обсуждали. Некоторые считают его использование антипаттерном. Я лично - просто бессмысленной штукой которой никогда не пользуюсь

Google

Alexey
27.04.2017
11:58:21
Я, вот, пользуюсь айфоном, вимом и катаюсь на сноуборде. Андроид, емакс и лыжи — говно.

Dmitry
27.04.2017
11:59:01
Как вообще дебажить в функциональных языках? У меня ни одной переменной нету в коде

Artem
27.04.2017
11:59:20
а обсервер же можно считать дебагером, не? )

Maxim
27.04.2017
11:59:51
подстановка - это не то, для чего нужен ide

Dmitry
27.04.2017
12:00:02
Обсервером нельзя брейкнуть

Maxim
27.04.2017
12:00:03
мне удобно пользоваться дебаггером внутри, например

Dmitry
27.04.2017
12:00:09
Поэтому он не дебаггер

Knock
27.04.2017
12:00:10

Maxim
27.04.2017
12:00:23
к тому же можно почти все из нее запускать

Dmitry
27.04.2017
12:00:45
Дебаггер останавливает исполнение одного из потоков
А принт - нет
В конкурентной среде дебаггер превращает своё использование в веселье

Artem
27.04.2017
12:01:23
я думаю на этапе обучения это полезно, понять что рантайм это тебе не то что ты пишешь в редакторе

Google

Alexey
27.04.2017
12:01:34
Хоспади, как ни зайдешь в какой-нибудь профильный чат, везде одно и то же.

Maxim
27.04.2017
12:02:49

Андрей
27.04.2017
12:04:11

Alexey
27.04.2017
12:05:03
а есть отдельный чат, о вимах и емаксах?

Dmitry
27.04.2017
12:05:11
Мы обсуждаем дебаг. Мне кажется вы какие то другие сообщения читаете

Knock
27.04.2017
12:05:34

Marat
27.04.2017
12:06:31

Max
27.04.2017
13:29:33
чорт, страдал недавно, что сервер начинает коннекты рвать, а там в ranch по умолчанию стоит max_connections=1024

Knock
27.04.2017
13:29:46
это одновременных?

Max
27.04.2017
13:29:50
ну да

Knock
27.04.2017
13:29:57
нифига себе у вас популярный сайт

Max
27.04.2017
13:29:59
даже подумать не мог, что такое бывает
у нас не сайт
при чём тут сайт?

Knock
27.04.2017
13:30:19
Сорян, немного попутал :)
Свое на уме.
В веб-девелопменте слишком много времени провел, да и сейчас недавно речь опять про сайт шла :)

Max
27.04.2017
13:30:54
поправил, буду смотреть
aerospike кто-нибудь использовал?

Google

anton
27.04.2017
16:07:59
aerospike не тыкал никто?
@troyanov совсем немного в докере через голанг
спрашивай @zeroweb - он тогда был единственный кто откликнулся ;)

Константин
27.04.2017
16:18:11
извини, что так поздно

Dmitry
27.04.2017
16:25:40
дада, брейкпоинт воткнуть

Константин
27.04.2017
16:26:33
я не представляю себе работу без дебага. Как бы не выручало тестирование - быстрее всего у меня получается внедриться в новый проект или вспомнить работу кода - это через дебаг. Любая задача решается куда быстрее. На руби я прям разрабатывал дебагером))) Знаний языка было мало, я просто запустил дебаг и выполнял в консоли 1-2 команды, если все норм - вставлял их в код программы и запускал дебаг заново и так постепенно писал, при этом сразу видел как меняются данные, какого они были типа и т.д. Потом покрыд тестами и красота
брейкпоинт втыкается через :debugger.start()
http://blog.plataformatec.com.br/2016/04/debugging-techniques-in-elixir-lang/
Вот мануал

Can
27.04.2017
16:27:28
Iex pry тема

Константин
27.04.2017
16:27:48
pry не сможет пройти построчно
придется весь код функции руками вызывать

Dmitry
27.04.2017
16:29:48
Я дебаг делал только в c# и перестал делать после того как он ужасно показал себя в конкуретной среде

Константин
27.04.2017
16:30:20
в этом плане да, но в php прям милое дело))
даже стало интересно дебагером по flow пройтись!

Dmitry
27.04.2017
16:31:05
Не знаю как там в каком языке но вот ни разу не захотелось дебажить
Я думаю сейчас и в шарпе если вернусь буду дебаггером не пользоваться
Хотя вероятнее всего писать буду на f# уже)

Константин
27.04.2017
16:32:03
а как тогда внедряешься в новый проект, если там нет тестов?
я не стебаю, мне действительно интересно как люди разрабатывают. Я вон тесты писал только на рубях и эликсире)) php говнокодер я, в общем))

Google

Dmitry
27.04.2017
16:34:16
Не доводилось в таких работать. Вернее было несколько возможностей - либо я пишу новый код в старом проекте и мне в общем то насрать на то что там сделано, либо я пишу тесты сам и это моя работа, либо я рефакторинг неограниченно.
Если не понимаешь что делает функция - значит нужен рефакторинг
Помню когда только начинал в шарпе, то что на меня оказало значительнейший влияние - цикл лекций по рефакторинг какого то мужика
Из запоминающегося:
Если у вас if else есть скобки - код плохой.
Если функция не влазит на экран - код плохой.
Если есть комментарии - код плохой.
Если есть в коде есть цифры или строки не в присваивании - код плохой.
Если двойной или более нестинг - код плохой.
Ну и конечно тесты

Max
27.04.2017
16:38:26
если есть код — код плохой
у меня так
нет кода — хорошо

Dmitry
27.04.2017
16:39:32
А теперь возьмём гипотетический код с функциями по 3-5 строчек, с максимум одинарной вложенностью и двумя переменными, и попробуем понять ЧТО там можно дебажить. Ответ: ничего

Max
27.04.2017
16:40:39
если отладочной печатью нельзя дебажить — код плохой

Admin
ERROR: S client not available

Dmitry
27.04.2017
16:40:50
А на эликсире к меня в 85% функций вообще нету переменных, а в остальных 15 - я плохо написал

Max
27.04.2017
16:41:05
в ерланге можно трейсинг вместо отладочной печати
то же самое считай
а останавливать работу и смотреть переменные-регистры — такое только в каком-нибудь ядре линуксовом уместно

Alexey
27.04.2017
16:42:41
> Если есть комментарии - код плохой.
очень плохое правило)

Dmitry
27.04.2017
16:43:04
Это не правило, это индикатор

Alexey
27.04.2017
16:43:14
тут просто есть момент

Max
27.04.2017
16:43:28

Alexey
27.04.2017
16:43:32
"хорошему коду комментарии не нужны", но кто сказал, что твой код хороший?)
после того как рельсы набрали популярность, это правило стало вездесуще

Google

Alexey
27.04.2017
16:44:18
и его использует каждый, часто думая что его код понятен и хорош
если ты работаешь с огромных проектом, то хотябы комментарии к модулям/классам нужны
иначе ты замучаешься

Dmitry
27.04.2017
16:45:10
Комментарии и доки - разные вещи
Но в принципе если код хорошо факторен - тебе должно быть почти насрать на то ЧТО именно там внутри функций

Alexey
27.04.2017
16:46:38
это в маленьком проекте

Dmitry
27.04.2017
16:46:39
В модели сложно намудрить
Остаётся контроллер
Вот там больше всего шила
Но к счастью у него есть спека в виде шаблона
И его легче с нуля перепилить на самом то деле

Sergey
27.04.2017
16:54:54
кто там искал работу джуниором? https://twitter.com/miketansky/status/857574505648185345

Dmitry
27.04.2017
16:56:12
А при чем тут питон?)

Sergey
27.04.2017
16:56:59
он искал js/php/python

Alexander
27.04.2017
16:57:30
ааа, а чего в контроллере можно намудрить? там в лучшем случае одна строка с вызовом сервиса ну и валидация парамсов, например:)

Dmitry
27.04.2017
16:58:16
Если сделать тонкую модель и шаблон - очень хорошо можно в контроллере накрутить
Например разобраться с параметрами, пару раз стукнуть в бд, послать смску через сторонний сервис, емэил там какой, заскеджулить работу, потом все преобразовать обратно для выдачи в шаблон
И это я описал только тот вариант, в котором все сработало

Alexey
27.04.2017
17:00:43
это ни в модели, ни в контроллере не должно быть

Dmitry
27.04.2017
17:01:55
И где это должно быть тогда?

Alexey
27.04.2017
17:02:38
сервисы/команды/декораторы/таски/etc
это все слишком несвязанные вещи, чтоб их в модель класть