Оглавление
Искажение имени
-
Искажение имен в программировании
- Искажение имен используется для предотвращения конфликтов имен в разных контекстах.
- Искажение может быть реализовано различными способами, включая добавление символов подчеркивания или использование префиксов.
- В разных языках программирования используются разные схемы искажения имен.
-
Примеры искажения имен
- В Java имена внутренних классов начинаются с $, а анонимные классы имеют сгенерированные имена.
- В Python имена атрибутов класса с двумя или более начальными символами подчеркивания искажаются.
- В Pascal и Free Pascal используются разные схемы искажения для поддержки перегрузки функций и операторов.
- В Fortran имена процедур должны быть преобразованы в стандартный регистр для вызова из других языков.
- В Rust имена функций могут быть искажены по умолчанию или отключены с помощью атрибута #[no_mangle].
- В Objective-C методы класса и экземпляра имеют разные внутренние представления и уникальные селекторы.
-
Стандартизация и управление именами
- Стандартизация искажения имен отсутствует, каждый компилятор использует свои собственные схемы.
- В некоторых языках, таких как Fortran, существуют разные версии схем искажения, выбираемые во время компиляции.
- В Objective-C управление селекторами позволяет эффективно находить методы и обеспечивает полиморфизм.
- Пересказана только часть статьи. Для продолжения перейдите к чтению оригинала.