写点什么

鸿蒙高质量代码静态检测 200 条三

作者:龙儿筝
  • 2024-11-13
    上海
  • 本文字数:2391 字

    阅读完需:约 8 分钟

  1. @performance/hp-arkts-no-use-any-export-current


  • 避免使用 export * 导出当前 module 中定义的类型和数据


  1. @performance/hp-arkts-no-use-any-export-other


  • 避免使用 export * 导出其他 module 中定义的类型和数据


  1. @performance/hp-arkui-avoid-empty-callback


  • 避免设置空的系统回调监听


  1. @performance/hp-arkui-avoid-update-auto-state-var-in-aboutToReuse


  • 避免在 aboutToReuse 中对自动更新值的状态变量进行更新


  1. @performance/hp-arkui-combine-same-arg-animateto


  • 建议动画参数相同时使用同一个 animateTo


  1. @performance/hp-arkui-image-async-load


  • 建议大图片使用异步加载


  1. @performance/hp-arkui-load-on-demand


  • 建议使用按需加载


  1. @performance/hp-arkui-no-func-as-arg-for-reusable-component


  • 避免使用函数作为复用的自定义组件创建时的入参


  1. @performance/hp-arkui-no-state-var-access-in-loop


  • 避免在 for、while 等循环逻辑中频繁读取状态变量


  1. @performance/hp-arkui-no-stringify-in-lazyforeach-key-generator


  • 在使用 LazyForEach 进行组件复用的 key 生成器函数里,不要使用 stringify


  1. @performance/hp-arkui-reduce-pangesture-distance


  • 建议设置合理的拖动距离


  1. @performance/hp-arkui-remove-container-without-property


  • 建议尽量减少视图嵌套层次


  1. @performance/hp-arkui-remove-redundant-nest-container


  • 避免冗余的嵌套


  1. @performance/hp-arkui-remove-redundant-state-var


  • 建议移除不关联 UI 组件的状态变量设置


  1. @performance/hp-arkui-remove-unchanged-state-var


  • 建议移除未改变的状态变量设置


  1. @performance/hp-arkui-replace-nested-reusable-component-by-builder


  • 建议使用 @Builder 替代嵌套的自定义组件


  1. @performance/hp-arkui-set-cache-count-for-lazyforeach-grid


  • 建议在 Grid 下使用 LazyForEach 时设置合理的 cacheCount


  1. @performance/hp-arkui-suggest-cache-avplayer


  • 建议缓存 AVPlayer 实例減少起播时延


  1. @performance/hp-arkui-suggest-reuseid-for-if-else-reusable-component


  • 建议使用 reuseId 标记不同结构的组件构成


  1. @performance/hp-arkui-suggest-use-effectkit-blur


  • 建议使用 effectKit.createEffect 实现模糊效果


  1. @performance/hp-arkui-suggest-use-get-anonymousid-async


  • 建议在主线程中通过异步获取 IFAA 免密认证的匿名化 ID


  1. @performance/hp-arkui-use-attributeUpdater-control-refresh-scope


  • 建议使用 attributeUpdater 精准控制组件属性的刷新


  1. @performance/hp-arkui-use-grid-layout-options


  • 建议在指定位置时使用 GridLayoutOptions 提升 Grid 性能


  1. @performance/hp-arkui-use-id-in-get-resource-sync-api


  • 建议在使用 API getColorSync 和 getStringSync 时建议使用带 id 版本


  1. @performance/hp-arkui-use-id-in-get-resource-sync-api


  • 建议在使用 API getColorSync 和 getStringSync 时建议使用带 id 版本


  1. @performance/hp-arkui-use-local-var-to-replace-state-var


  • 建议使用临时变量替换状态变量


  1. @performance/hp-arkui-use-object-link-to-replace-prop


  • 建议使用 @ObjectLink 代替 @Prop 减少不必要的深拷贝


  1. @performance/hp-arkui-use-onAnimationStart-for-swiper-preload


  • 建议 Swiper 预加载机制搭配 OnAnimationStart 接口回调使用


  1. @performance/hp-arkui-use-reusable-component


  • 建议复杂组件的定义,尽量使用组件复用


  1. @performance/hp-arkui-use-row-column-to-replace-flex


  • 建议使用 Column/Row 替代 Flex


  1. @performance/hp-arkui-use-scale-to-replace-attr-animateto


  • 建议组件布局改动时使用图形变换属性动画


  1. @performance/hp-arkui-use-taskpool-for-web-request


  • 建议网络资源的请求和返回使用 taskpool 线程池异步处理


  1. @performance/hp-arkui-use-transition-to-replace-animateto


  • 建议组件转场动画使用 transition


  1. @performance/hp-arkui-use-word-break-to-replace-zero-width-space


  • 建议使用 word-break 替换零宽空格(\u200b)


  1. @performance/hp-performance-no-closures


  • 建议函数内部变量尽量使用参数传递


  1. @performance/lottie-animation-destroy-check


  • 该规则检测使用 lottie 加载的动画是否都正确销毁


  1. @performance/no-high-loaded-frame-rate-range


  • 不允许锁定最高帧率运行


  1. @performance/number-init-check


  • 该规则将检查 number 是否正确使用


  1. @performance/sparse-array-check


  • 建议避免使用稀疏数组


  1. @performance/start-window-icon-check


  • 启动页图标分辨率建议不超过 256 * 256


  1. @performance/timezone-interface-check


  • 在获取非本地时间时,建议使用统一标准的 i18n.Calendar 接口获取时间时区相关信息


  1. @performance/typed-array-check


  • 数值数组推荐使用 TypedArray


  1. @performance/waterflow-data-preload-check


  • 建议对 waterflow 子组件进行数据预加载


  1. @performance/multiple-associations-state-var-check


  • 多个组件关联同一数据时,建议在组件中使用 @Watch 装饰器添加更新条件,避免不必要的组件更新


  1. @performance/constant-property-referencing-check-in-loops


  • 在循环如需频繁访问某个常量,且该属性引用常量在循环中不会改变,建议提取到循环外部,减少属性访问的次数


  1. @performance/foreach-args-check


  • 建议在 ForEach 参数中设置 keyGenerator


  1. @previewer/mandatory-default-value-for-local-initialization


  • 如果组件的属性支持本地初始化,需要设置一个合法的不依赖运行时的默认值


  1. @previewer/no-page-method-on-preview-component


  • 禁止在非路由组件上实例化 onPageShow、onPageHide、onBackPress 等页面级方法


  1. @previewer/no-unallowed-decorator-on-root-component


  • 对于 @Entry 组件,不允许使用 @Consume、@Link、@ObjectLink、@Prop 注解;对于 @Preview 组件,建议使用一个定义了完整的、合法的、不依赖运行时的默认值的父组件作为预览该组件的容器


  1. @cross-device-app-dev/color-value


  • 颜色值应当使用“$r”从 color.json 中引用,以适配不同的系统颜色模式,禁止使用固定的值


  1. @cross-device-app-dev/font-size-unit


  • 字体大小单位建议使用 fp,以适配系统字体设置


发布于: 刚刚阅读数: 3
用户头像

龙儿筝

关注

还未添加个人签名 2024-10-27 加入

还未添加个人简介

评论

发布
暂无评论
鸿蒙高质量代码静态检测200条三_鸿蒙_龙儿筝_InfoQ写作社区