xref: /arkcompiler/ets_frontend/ets2panda/linter/docs/rules/recipe4.md
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /arkcompiler/ets_frontend/ets2panda/linter/docs/rules/
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

Indexes created Thu Nov 07 10:32:03 CST 2024