13af6ab5fSopenharmony_ci# Use unique names for types and namespaces. 23af6ab5fSopenharmony_ci 33af6ab5fSopenharmony_ciRule ``arkts-unique-names`` 43af6ab5fSopenharmony_ci 53af6ab5fSopenharmony_ci**Severity: error** 63af6ab5fSopenharmony_ci 73af6ab5fSopenharmony_ciNames for all types (classes, interfaces, enums) and namespaces must be unique 83af6ab5fSopenharmony_ciand distinct from other names, e.g., variable names and function names. 93af6ab5fSopenharmony_ci 103af6ab5fSopenharmony_ci 113af6ab5fSopenharmony_ci## TypeScript 123af6ab5fSopenharmony_ci 133af6ab5fSopenharmony_ci 143af6ab5fSopenharmony_ci``` 153af6ab5fSopenharmony_ci 163af6ab5fSopenharmony_ci let X: string 173af6ab5fSopenharmony_ci type X = number[] // Type alias with the same name as the variable 183af6ab5fSopenharmony_ci 193af6ab5fSopenharmony_ci``` 203af6ab5fSopenharmony_ci 213af6ab5fSopenharmony_ci## ArkTS 223af6ab5fSopenharmony_ci 233af6ab5fSopenharmony_ci 243af6ab5fSopenharmony_ci``` 253af6ab5fSopenharmony_ci 263af6ab5fSopenharmony_ci let X: string 273af6ab5fSopenharmony_ci type T = number[] // X is not allowed here to avoid name collisions 283af6ab5fSopenharmony_ci 293af6ab5fSopenharmony_ci``` 303af6ab5fSopenharmony_ci 313af6ab5fSopenharmony_ci 32