Oleh
привет посоветуйте пожалуста найболее удобною библитеку для работы с тг ботами и где норм/более менее можно мокапить
Kirill
Meaningful variable names
Что не понятно?
Chebyrash
Что не понятно?
Просто интересно зачем люди используют однобуквенные названия для переменных. Мне сложно понять что в них скрывается.
Dmitry
[] + []
🙈🙉🙊
Aliaksandr
спасибо
создал новый релиз https://github.com/valyala/fasthttp/releases/tag/v20180529
Dmitry
Чем больше область видимости переменных тем больше должно быть имя
Chebyrash
s = string p.b = parser.buffer p.c = parser.cache
Это ясно, но вы не должны это объяснять. Если бы переменная была нормально названна я бы понял сразу
Kirill
🤣
Mark
Друзья, а что почитать касаемо многопоточности golang, чтоб подробно со всем подводными камнями?
Aliaksandr
Meaningful variable names
не люблю много писать :)
Alexander
Ниндзя код!!!
Chebyrash
не люблю много писать :)
Я вас отлично понимаю :) Просто имейте ввиду, что будущим мейнтейнерам придётся не просто )
Aliaksandr
Я вас отлично понимаю :) Просто имейте ввиду, что будущим мейнтейнерам придётся не просто )
Кирилл разобрался с названиями за пару минут. Значит он будет мейнтейнером
Aliaksandr
короткие имена отсеивают потенциальных мейнтейнеров, которые хотят запутать код длинными идентификаторами )
Kirill
Кирилл разобрался с названиями за пару минут. Значит он будет мейнтейнером
Кмон, я твой код читаю уже года полтора, если не больше, он всегда был простым, как табуретка, этим он мне и нравится 😄
Oleh
а примеров то нет))
Mark
И знания)
Maxim
а примеров то нет))
См https://github.com/toby3d/MyPackBot например
Kirill
Я новые идеи хочу
Попробуй напиши свой kv storage, если других идей нет
Kirill
И сделай его сначала максимально стабильным, а потом максимально быстрым
Mark
Лол. От души. Да, пожалуй интересный челледж.
Kirill
Прохаваешь по ходу дела практически всё, если не сказать больше
Dmitry
https://g.co/kgs/ixx1Ww
Kirill
https://g.co/kgs/ixx1Ww
#вредныесоветы
Kirill
Нет
Омлет. Сначала нужно азы самому понять, а потом, если не хватит, в крайнем случае лезть в книги
Kirill
Прошлого года выпуска, тем более
Dmitry
Процесс обучения состоит как из теории так и практики.
саша
s = string p.b = parser.buffer p.c = parser.cache
Читабельность уровня го
კაცი
Читабельность уровня го
да хорош наезжать) такого добра на любом другом языке навалом
Dmitry
да хорош наезжать) такого добра на любом другом языке навалом
видел только в го чтобы рекомендовали делать названия покороче :)
კაცი
видел только в го чтобы рекомендовали делать названия покороче :)
х.з. не слышал. вообще тут вроде выше правильно отметили, если область видимости маленькая, то и сэкономить не страшно.
Aliaksandr
много букв долго читать, поэтому используют короткие идентификаторы
Dmitry
это рекомендация которую не все гоферы прочитали полностью :)
Denis
ну p.b это явно перебор имхо
Kirill
Вы бы тогда и в циклах писали index, value := arrayOfSomeImportantStuff, чо
Dmitry
и пишем
Dmitry
и только в го я силой заставляю себя урезать названия :)
Denis
одно дело счетчик цикла, где все привыкли к i как к индексу, и который встречается в 3 строчках ниже и все. другое дело поле структуры
Kirill
и пишем
Ну и ССЗБ
саша
х.з. не слышал. вообще тут вроде выше правильно отметили, если область видимости маленькая, то и сэкономить не страшно.
Страшно, ещё как, ибо при чтении вырывает читателя из потока и заставляет в уме подставлять вместо этих p.b нормальные названия. Я у себя в коде допускаю однобуквенные переменные только там, где у буквы есть общепринятый смысл, например x, y, z для координат и i, k, j для индексов, либо в однострочных лямбдах.
Alexander
И вся скорость и стабильность накроется
Kirill
IsAdmin() vs HasAdminPrivileges() ещё обсудите тогда
Denis
ну да, мелочи по сути
heavycharged
это ок, если у тебя в цикле только u. Но когда там u, i, a, z, x то пора задуматься.
heavycharged
ну и если сам цикл не портянка на 15+ строк кода.
Denis
и получаем индекс в user
я циклы всегда сниппетами генерю в vime, сорри :) _, u естественно
саша
ну, например, for u := range users { u.DoSomeStuff() } мне кажется лучше чем for user := range users { user.DoSomeStuff() } потому как первое акцентирует внимание на DoSomeStuff, второе больше на user. но это все дело вкуса
Во втором написано, что мол пользователь, сделай вот что-нибудь, в первом же написано - u, сделай что-то, и благо u объявлена строкой выше, иначе велик шанс, что придется начать искать глазами что за u такой.
heavycharged
главное не делать result, data, items
heavycharged
вот вам кароч: https://i.imgur.com/s9Xywe1.png
heavycharged
от дедушки кернигана и пайка
Dmitry
меня вот страшно бесит range!. почему бы просто не использовать устоявшееся in ? я уже по привычке пишe for i in и тут вспоминаю что тут все по другому /
Kirill
key, value := range array