You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ExtJS类命名规范咨询:模型、视图、控制器等不同类型类的命名规则

ExtJS 类命名官方约定规范

通用基础规则

  • 所有类的顶级命名空间统一使用大驼峰格式,比如应用标识MyAPP,禁止小写、下划线或特殊符号开头
  • 类命名空间层级和项目目录结构完全一一对应,类名的每一段对应一个目录,最后一段类名和文件名完全一致,例如类MyAPP.model.Person 对应的文件路径固定为 app/model/Person.js
  • 除特殊标识后缀外,所有类名统一使用大驼峰(UpperCamelCase)格式,禁止使用蛇形命名、短横线命名

不同类型类的专属命名规则

模型(Model)

官方默认约定不需要加Model后缀,因为类已经归属在model命名空间下,足以明确类型属性

  • 官方推荐写法:MyAPP.model.Person,对应文件 app/model/Person.js
  • 你遇到的PersonModel写法属于部分团队的自定义内部规范,不属于官方推荐方案,会造成命名冗余

视图(View)

  • 通用业务视图按所属模块+功能命名,不需要加冗余的View后缀,例如用户列表视图MyAPP.view.user.UserList,对应文件 app/view/user/UserList.js
  • 继承自特定ExtJS基础组件的视图类,可以加对应组件类型后缀方便快速识别,例如UserForm(表单)、RoleGrid(表格)、PermissionTree(树)

控制器(Controller)

  • 全局控制器:按业务模块命名,不需要加后缀,例如用户管理模块控制器MyAPP.controller.UserManager,对应文件 app/controller/UserManager.js
  • 视图控制器(ViewController,ExtJS 5.0+新增):和绑定的视图同名,加Controller后缀,例如视图MyAPP.view.user.UserList对应的视图控制器为MyAPP.view.user.UserListController,对应文件 app/view/user/UserListController.js

视图模型(ViewModel,ExtJS 5.0+新增)

  • 和绑定的视图同名,加Model后缀,注意和数据层的Model区分,它属于视图层配套类,例如视图MyAPP.view.user.UserList对应的视图模型为MyAPP.view.user.UserListModel,对应文件 app/view/user/UserListModel.js

数据仓库(Store)

  • 全局公共Store归属在store命名空间下,按业务功能命名,不需要加Store后缀,例如用户列表Store MyAPP.store.Users,对应文件 app/store/Users.js
  • 绑定到特定视图的私有Store可以放在对应视图目录下,加Store后缀区分类型

工具类/公共辅助类

  • 一般归属在util、helper或common命名空间下,按功能方向命名,可加Util、Helper后缀标识工具属性,避免和业务类混淆,例如日期工具类MyAPP.util.DateUtil、正则校验辅助类MyAPP.util.RegexHelper,对应文件 app/util/DateUtil.js

特殊场景补充规则

  • 仅内部使用不对外暴露的私有类,可在类名前加下划线前缀标识,例如MyAPP.view.user._UserListItem
  • 常量类的属性统一全大写,用下划线分隔,例如MyAPP.constant.RoleType.ADMIN = 'admin'

内容的提问来源于stack exchange,提问作者user5507535

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 09:42:03