SuperAPI AI 工具集

javascript

编程与开发

查看项目

更新于 10-16 09:47

技能介绍

用途:为 Scenescape 项目提供 JavaScript 编码规范,涵盖代码风格、命名约定、架构模式与前端实践,帮助团队保持代码一致。

主要能力与约定:

  • 工具链:ESLint(配置在 .github/resources/eslint.config.js)、Prettier(配置在 .github/resources/.prettierrc.json)。命令:make lint-javascript、make prettier-write、make prettier-check。
  • 代码风格:2 空格缩进(不用制表符)、行长约 80-100 字符、使用分号、字符串优先双引号,均由 Prettier 约束。
  • 命名:类用 PascalCase(如 MapboxPlugin、GoogleMapsPlugin、MapInterface);函数/方法用 camelCase(如 generateSnapshot);常量用 UPPER_SNAKE_CASE(如 DEFAULT_ZOOM);变量用 camelCase;私有成员以下划线 _ 前缀(仅约定,不强制)。
  • 架构:基于 ES6 类的组件,地图提供商实现 MapInterface(initialize、moveToLocation、generateBounds、generateSnapshot、getBounds、getCenter、getZoom);优先 async/await;DOM 操作用 jQuery;AJAX 使用 fetch 并带 CSRF(X-CSRFToken 头)与 FormData 上传文件;错误处理用 try-catch、提前返回、可选链;Canvas 与 SVG 操作示例;console 日志按级别使用,生产环境需移除或加开关;注释用 JSDoc 与行内说明。
  • 反模式:不用 var(用 const/let)、不污染全局、用 === 比较、不在循环内创建闭包函数。
  • 文件组织:manager/src/static/js 下含 geospatial 目录与 sscape.js,脚本通过 Django 模板加载。
  • 性能与兼容:缓存选择器、事件委托、防抖节流、脚本置于底部或 defer;面向支持 ES6+ 的现代浏览器,必要时用 polyfill,在 Chrome、Firefox、Edge、Safari 测试。

使用方式:在 Scenescape 仓库中按上述命令运行 lint 与格式化,遵循命名与模式编写代码。

限制:具体规则以仓库中的 ESLint 与 Prettier 配置为准;资料未提供收费、价格或平台信息。