ne_on
в чём проблема то?
Денис
Влад
Да, я про это и говорю (что такое ССЗБ?)
Влад
но суть в том, что переменная не обязательно называеться достаточно конкретно... ну к примеру я постоянно использую переменные i
vladislav
Маjко
Тут больше нечего обсуждать
Маjко
Ответ прост: не пиши млять миллиарды строк в одном скопе
Маjко
Дроби функционал
Маjко
с херали у тя мильен строк кода
Маjко
C функциями на мильон строк затенение переменных -- наименьшая из твоих проблем
vladislav
Влад
ну не миллион, но достоточное чтобы я забыл название переменной, которую уже определил ранее
Маjко
Проблема не в языке, а в культуре разработки.
Маjко
Не умеешь долбить функционал и использовать вменяемые именования -- язык не виноват
Маjко
Затенение (тем более в расте оно детерминированное) -- не проблема, а возможность писать более лаконичный код
Влад
пусть переменная называеться countr_mole - в начале я определил кол-во 'кротов', а потом мне понадобилось в этом же скоупе (или партнёру разработчику) кол-во 'родинок'
Anton
Влад
про цикли я ничего не говорил, и я понимаю что в разных
vladislav
Bugworm
Bugworm
короче, это проблема логики
Anton
let cnt_holes = 0;
...
let cnt_fails = 0;
vladislav
Проблема дизайна функции, энивэй
Денис
а ещё, а ещё
Денис
а ещё раст позволяет делать unsafe магию
Денис
вот берёшь такой и конвертишь число в строку
Денис
опа
Денис
как такое допустили???
Маjко
А про забыл итд: если функция не вмещается в экран, в ней надо что-то менять.
Anton
как теперь жить то
Anton
Anton
Маjко
Anton
27" пфф
Денис
ну и надо заметить, что токио — не эталон
Денис
рефакторинг по многим его местам плачет
Маjко
Подписуюсь
Влад
Anton
Ну пилят его не так много человек
Anton
крайнее время активно, мне нра изменения
vladislav
Это абстракный пример
Ну пиши тогда на абстрактном языке программирования, прекращай демагогию разводить, тебе сказали, в чем ты неправ
ne_on
когда уже выпустят раст v2, на котором любой школьник сможет писать безопасный код?
Денис
でゲソ
Влад
Это надуманная херня :)
на с++ мне компилятор хоть говорит что , вы уже переопределили эту переменную ("иди и на своём с++ программирую " - дада я понял)
Влад
ладно. Вопрос такой: если у компилятора Раста включение Варнинга о таких хернях, чтобы два раза не байндить одно имя в одном скоупе?
Денис
варнинга нет
Денис
но есть линт в клиппи
Денис
https://github.com/rust-lang-nursery/rust-clippy/wiki#shadow_unrelated
でゲソ
Денис
кланг тоже не жалится с -Wall -Wextra
Денис
вон кстати пример из реальной жизни, где без shadow просто приедешь — https://users.rust-lang.org/t/inquiring-about-idiomatic-usage-of-shadowing/6177/6
でゲソ
Насколько знаю wextra как раз начинает жалиться на шэдоуинг
Маjко
Денис
Денис
там кстати ещё не запилили флаг -Wreally-all-please-i-mean-it? =)
でゲソ
Кстати а годболт показывает ворнинги или только на компиляцию жалится?
ne_on
Go уже есть
там же мусоросборщик, чем он лучше питона
でゲソ
Денис
педантик это не то
ne_on
они go-ipfs в каждом релизе фиксят жор cpu и памяти... нафиг этот go нужен такой
でゲソ
Денис
как верно заметили выше, если ты дурной, то шадоу — меньшая из твоих проблем)
Денис
Маjко
Денис
переменная живёт до конца скоупа
Денис
и вот бы щас поудалять что-то из стэковой памяти))
vladislav
でゲソ
Поды таки на стеке живут?
Денис
new/make_shared/.../ нет, значит стэк)
Денис
по-моему эвристика такая))
vladislav
Маjко
new тоже стек