ne_on
в чём проблема то?
Влад
Да, я про это и говорю (что такое ССЗБ?)
Влад
но суть в том, что переменная не обязательно называеться достаточно конкретно... ну к примеру я постоянно использую переменные i
Маjко
Тут больше нечего обсуждать
Маjко
Ответ прост: не пиши млять миллиарды строк в одном скопе
Маjко
Дроби функционал
Маjко
с херали у тя мильен строк кода
Маjко
C функциями на мильон строк затенение переменных -- наименьшая из твоих проблем
Влад
ну не миллион, но достоточное чтобы я забыл название переменной, которую уже определил ранее
Маjко
Проблема не в языке, а в культуре разработки.
Маjко
Не умеешь долбить функционал и использовать вменяемые именования -- язык не виноват
Маjко
Затенение (тем более в расте оно детерминированное) -- не проблема, а возможность писать более лаконичный код
Влад
пусть переменная называеться countr_mole - в начале я определил кол-во 'кротов', а потом мне понадобилось в этом же скоупе (или партнёру разработчику) кол-во 'родинок'
Влад
про цикли я ничего не говорил, и я понимаю что в разных
Bugworm
короче, это проблема логики
Anton
let cnt_holes = 0; ... let cnt_fails = 0;
vladislav
Проблема дизайна функции, энивэй
Денис
а ещё, а ещё
Денис
а ещё раст позволяет делать unsafe магию
Денис
вот берёшь такой и конвертишь число в строку
Денис
опа
Денис
как такое допустили???
Маjко
А про забыл итд: если функция не вмещается в экран, в ней надо что-то менять.
Anton
как теперь жить то
vladislav
вот берёшь такой и конвертишь число в строку
Это какие-то оккультные учения, не говори об этом вслух
Маjко
Надо будет тебе напомнить :D
Так и знал, что ты это напишешь. Ну там токио, я не виноват, что оно такое х)
Маjко
Anton
27" пфф
Денис
ну и надо заметить, что токио — не эталон
Денис
рефакторинг по многим его местам плачет
Маjко
Подписуюсь
Anton
Ну пилят его не так много человек
Маjко
Это абстракный пример
Это надуманная херня :)
Anton
крайнее время активно, мне нра изменения
vladislav
Это абстракный пример
Ну пиши тогда на абстрактном языке программирования, прекращай демагогию разводить, тебе сказали, в чем ты неправ
ne_on
когда уже выпустят раст v2, на котором любой школьник сможет писать безопасный код?
Денис
Anton
да, надо вливаться =)
Вот-вот, а то тотлько критика =)
Влад
Это надуманная херня :)
на с++ мне компилятор хоть говорит что , вы уже переопределили эту переменную ("иди и на своём с++ программирую " - дада я понял)
Anton
Почему у тебя коты и родинки в один скоуп попали?
Да человек еще тольком не писал не чего - времени дохера пришел в чат теоретиком побыть
Влад
ладно. Вопрос такой: если у компилятора Раста включение Варнинга о таких хернях, чтобы два раза не байндить одно имя в одном скоупе?
Денис
варнинга нет
Денис
но есть линт в клиппи
Денис
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 как раз начинает жалиться на шэдоуинг
Денис
там кстати ещё не запилили флаг -Wreally-all-please-i-mean-it? =)
でゲソ
Кстати а годболт показывает ворнинги или только на компиляцию жалится?
ne_on
Go уже есть
там же мусоросборщик, чем он лучше питона
でゲソ
там кстати ещё не запилили флаг -Wreally-all-please-i-mean-it? =)
Тип когда не осиливаешь флаг педантик?
Денис
педантик это не то
ne_on
они go-ipfs в каждом релизе фиксят жор cpu и памяти... нафиг этот go нужен такой
Влад
вон кстати пример из реальной жизни, где без shadow просто приедешь — https://users.rust-lang.org/t/inquiring-about-idiomatic-usage-of-shadowing/6177/6
Согласен это прикольно. Но а вдруг я такой друрной и заведу переменную с cntr_mole (кроты\роддинки\моль). Как гриться ошибаеться не программа, а человек. Ладно другой вопрос { let a = 42; let a = 6.66; \\тут 42 удалено из памяти? print (a); // выведет 6.66 }
Денис
как верно заметили выше, если ты дурной, то шадоу — меньшая из твоих проблем)
Денис
переменная живёт до конца скоупа
Влад
переменная живёт до конца скоупа
то есть память засорилсь значением 42
Денис
и вот бы щас поудалять что-то из стэковой памяти))
でゲソ
Поды таки на стеке живут?
Денис
new/make_shared/.../ нет, значит стэк)
Денис
по-моему эвристика такая))
vladislav
Маjко
new тоже стек