首页 > 其他分享 >鸿蒙高质量代码静态检测200条三

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

时间:2024-11-13 12:07:25浏览次数:1  
标签:200 use 鸿蒙 条三 hp 建议 组件 performance arkui

  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,以适配系统字体设置

标签:200,use,鸿蒙,条三,hp,建议,组件,performance,arkui
From: https://www.cnblogs.com/zhaloe/p/18543645

相关文章

  • 解决高版本laravel/framework中SQLServer2008分页报错问题
    前提:laravel自6.0后就明确了支持的SQLServer版本最低为2017,而SQLServer是在2012版本后,引入的offset语法来实现分页,在此之前只能使用ROW_NUMBER()函数来完成分页。问题:生产环境的SQLServer由于历史原因,仍旧使用的2008版本,自然是不支持offset语法的,而新建项目使用的laravel版本......
  • 【数据分享】2000-2023年我国1km分辨率的逐日O3栅格数据
    空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2023年全国范围逐日的PM2.5栅格数据、2013-2023年全国范围逐日SO2栅格数据、2000-2023年全国范围逐日PM10栅格数据(均可查看之前的文章获悉详情)!本次我们给大家带来的是2000-2023年全国范围的逐日的O3栅......
  • 鸿蒙高质量代码静态检测200条二
    @typescript-eslint/no-unnecessary-type-arguments当类型参数和默认值相同时,不允许显式使用@typescript-eslint/no-unnecessary-type-assertion禁止不必要的类型断言@typescript-eslint/no-unnecessary-type-constraint不允许在泛型中使用不必要的约束条件@ty......
  • 洛谷 P1772 [ZJOI2006] 物流运输 做题记录
    很神经的一道题。令\(val_{i,j}\)表示从第\(i\)天到第\(j\)天每天都走一条道路,单次的最小花费。可以枚举\(\{i,j\}\)然后把在这个区间里的所有点设置成不可达,每一个\(\{i,j\}\)都可以用floyd算,时间复杂度\(O(n^2m^3)\)。令\(f_i\)表示第\(i\)天的最小花费,那么......
  • 鸿蒙HarmonyOS(ArkUI基础篇大合集!)
    文章目录ArkUI(方舟UI框架)1.简介2.基本概念3.概述4.布局1.概述2.通用布局属性......
  • 鸿蒙NEXT开发案例:抛硬币
    鸿蒙NEXT开发案例:抛硬币 【1】引言(完整代码在最后面)本项目旨在实现一个简单的“抛硬币”功能,用户可以通过点击屏幕上的地鼠图标来模拟抛硬币的过程。应用会记录并显示硬币正面(地鼠面)和反面(数字100面)出现的次数。为了增强用户体验,我们还添加了动画效果,使抛硬币的过程更加生......
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行信号时域仿真操作指导(
    SigritySPEED2000PowerGroundNoiseSimulation模式如何进行信号时域仿真操作指导(二)-三个IBIS模型SigritySPEED2000PowerGroundNoiseSimulation模式如何进行信号时域仿真操作指导(一)-单个IBIS模型介绍了在单个IBIS模型的激励下,发送和接收端的电压时域波形,当三个IB......
  • 鸿蒙高质量代码静态检测200条一
    @typescript-eslint/adjacent-overload-signatures建议函数重载的签名保持连续@typescript-eslint/await-thenable不允许对不是“Thenable”对象的值使用await关键字,相反对“Thenable”对象必须使用await,例如对Promise对象。@typescript-eslint/array-type定义数......
  • 鸿蒙开发之用户输入(TextInput)
    前言:日常开发中如果需要接收用户输入,就可以使用输入组件来完成TextInput:单行输入框:常用参数:参数名类型是否必填说明placeholderResourceStr否设置无输入时的提示文本。textResourceStr否设置输入框当前的文本内容。从APIversion10开始,该参数......
  • 《【NOIP2000 基础】计算器的改良》 不全对题解
    温馨提示,本题难度略大,本人写不出来正确代码,文章代码并不对,只是提供一些思路,希望大家能谅解!目录题目描述输入描述输出描述解析完整代码描述NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一......