Друзья, подскажите пожалуйста, когда я добавляю namespace, в сборку он

входит полностью, или только то, от чего зависит проект?
и насколько плохая практика повторять один и тот же неймспейс в разных скриптах, если есть возможность ссылаться на один скрипт?
где то слышал (вроде у Сакутина, если кто знает), что это не есть хорошо, могу что то путать

24 ответов

19 просмотров

возможно, ты путаешь неймспейс со сборками (*.asmdef) код в билд попадает сборками. если там есть неймспейс, оно попадает целиком

Kapitan-Says Автор вопроса
neFormal
возможно, ты путаешь неймспейс со сборками (*.asmd...

а если я дублирую неймспейс в других скриптах, они все будут ссылаться на одно и то же место в проекте? в целом это ведь не засоряет проект?

Kapitan Says
а если я дублирую неймспейс в других скриптах, они...

нет какого-то "места". считай, это префикс к имени класса вместо MyClass будет MyNamespace_MyClass

Kapitan-Says Автор вопроса
neFormal
нет какого-то "места". считай, это префикс к имени...

я имею ввиду, когда я использую using nameSpace в разных скриптах, это ведь не засоряет проект, а создает ссылку на единое место где этот неймспейс лежит?

Kapitan-Says Автор вопроса
Kapitan Says
я имею ввиду, когда я использую using nameSpace в ...

Агась. Представляй namespace как ссылку на внешний ресурс , для текущего ресурса до этого неизвестный Ресурс не будет дублироваться Дублируется просто запоминание одной и той же ссылки, если я правильно поняла вопрос

Kapitan-Says Автор вопроса
Poli lova
Агась. Представляй namespace как ссылку на внешний...

да, вы правильно поняли вопрос. просто у Сакутина, вроде, слышал, что плохая практика оставлять неиспользуемые ссылки на неймспейс. Почему - не помню, либо он не объяснил, поэтому такое недопонимание осталось

Kapitan Says
да, вы правильно поняли вопрос. просто у Сакутина,...

Просто чтобы код не засорять лишними строками, которые ничего не значат. Потом, когда через месяц кто-нибудь откроет скрипт, он сразу по неймспейсам сможет определить, что в коде используется, а что нет.

Kapitan Says
да, вы правильно поняли вопрос. просто у Сакутина,...

https://stackoverflow.com/questions/1162766/how-is-performance-affected-by-an-unused-using-directive

Kapitan-Says Автор вопроса
Poli lova
Агась. Представляй namespace как ссылку на внешний...

плюс еще в питоне была возможность подгрузить отдельный класс из неймспейса, якобы это положительно сказывалось на производительности(опять же, если ничего не путаю)

Kapitan Says
да, вы правильно поняли вопрос. просто у Сакутина,...

Не знаю как конкретно Mono с этим работает, но в CLR так: если ты подключил namespace и нигде его не использовал, компилятор не будет его включать в результате

Kapitan Says
плюс еще в питоне была возможность подгрузить отде...

в бидоне это связано с прекомпиляцией скрипта в байткод. тут компиляция происходит до билда

Kapitan Says
я имею ввиду, когда я использую using nameSpace в ...

Неймспейсы не сборки, они просто УСЛОВНО разделяют сборку на части. Если в проекте есть ссылка на сборку, то она вся попадет в билд в любом случае, не зависимо от того, какие неймспейсы ты использовал. Это нужно компилятору, чтобы понять какой класс ты хочешь использовать. После компиляции все имена классов будут заменены на полное имя: MyClass станет MyNamespace.MyClass

Kapitan Says
да, вы правильно поняли вопрос. просто у Сакутина,...

Потому что лишняя, бессмысленная строчка в коде + автодополнение будет показывать то, что тебе не нужно

Kapitan Says
плюс еще в питоне была возможность подгрузить отде...

Питон совсем другая история, там по другому работает

Смотря что понимать под "включать в результате", потому что оно все равно попадет в билд

Phantom
Смотря что понимать под "включать в результате", п...

там вообще не от рантайма зависит, а от Roslyn и он только фактическое использование учитывает


там вообще не от рантайма зависит, а от Roslyn и о...

Фактическое использование чего? Компилятор не будет резать сборку на части, чтобы в билд пихать только одну

Phantom
Фактическое использование чего? Компилятор не буде...

фактическое использование всей сборки, естественно

Phantom
Что?

по умолчанию должно работать так: использовал любой тип из сборки - ссылка на неё пометилась как фактически используемая и её включает в билд в Unity не знаю, идёт ли оно в Managed, если фактически не используется Кстати, IL2CPP по умолчанию вырезает неиспользуемый код из сборок, там это настраивается


по умолчанию должно работать так: использовал любо...

Roslyn (и скорее всего mono, но в unity используется rosyln) добавляет сборку в билд вне зависимости от того, было ли использовано что то из сборки, если в csproj есть Reference или PackageReference, то оно идет в билд IL2CPP не компилятор шарпа, а речь вроде про компиляторы шарпа

Phantom
Roslyn (и скорее всего mono, но в unity использует...

У меня никогда в билд не шли неиспользуемые сборки, когда использовал Rider без Unity

Похожие вопросы

Обсуждают сегодня

Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
Всем привет, есть небольшая проблема Есть такой скрипт document.addEventListener('DOMContentLoaded', function () { const sliderTabs = document.querySelectorAll('.s...
A da
8
@go1337 @dblackCat Привет. Все ещё дрочусь с fastpanel. Добавил второй домен который должен смотреть в рут того же сайта, но так как это просто домен, а не сайт, я не могу ему...
Ross 🦴
9
До речі, в ево нема можливості чи якого розширення щоб з адмінки з телефона зайти і терміново щось в верстці поправити?
Женя
7
кто-нибудь пользуется тайм-трекерами во время работы? так много разных нагуглил, может есть что-то популярное
Lencore
8
Пацаны. Я разрабатываю софт для инвайтинга на телетон, и столкнулся с такой проблемой, в один из чатов не могу приглашать никого, не дает добавлять, в то же время через официа...
Kernel Panic
11
Скажите, а кому нужен Currency как отдельный плагин вместо полноценного ecommerce в OctoberCMS? Кто-то использует его уже или планирует в будущем? Может я что-то не понимаю?
Igor
13
Розмовами про Рево мені нагадали часи, коли шаблони правилися прямо в адмінці. Хто в курсі, чому відійшли від цієї практики, так блейд не працює? Доволі зручно ж було (інколи)
Женя
3
Всем добрый вечер, Рад оказаться в кругу единомышленников. Начинаю погружаться в мир .net веба. Зовут Ерасыл 🖖 У меня назрел вопрос: Какой процент проектов, прошедшие через в...
Ерасыл
6
Чому? Да тому що без GiT не уявляю нормального проекта а коли код в базі то то так собі
Dmytro Lukianenko
3
Карта сайта