鴻蒙高質量程式碼靜態檢測200條三
龙儿筝發表於2024-11-13
- @performance/hp-arkts-no-use-any-export-current
- 避免使用export * 匯出當前module中定義的型別和資料
- @performance/hp-arkts-no-use-any-export-other
- 避免使用export * 匯出其他module中定義的型別和資料
- @performance/hp-arkui-avoid-empty-callback
- @performance/hp-arkui-avoid-update-auto-state-var-in-aboutToReuse
- 避免在aboutToReuse中對自動更新值的狀態變數進行更新
- @performance/hp-arkui-combine-same-arg-animateto
- @performance/hp-arkui-image-async-load
- @performance/hp-arkui-load-on-demand
- @performance/hp-arkui-no-func-as-arg-for-reusable-component
- @performance/hp-arkui-no-state-var-access-in-loop
- 避免在for、while等迴圈邏輯中頻繁讀取狀態變數
- @performance/hp-arkui-no-stringify-in-lazyforeach-key-generator
- 在使用LazyForEach進行元件複用的key生成器函式里,不要使用stringify
- @performance/hp-arkui-reduce-pangesture-distance
- @performance/hp-arkui-remove-container-without-property
- @performance/hp-arkui-remove-redundant-nest-container
- @performance/hp-arkui-remove-redundant-state-var
- @performance/hp-arkui-remove-unchanged-state-var
- @performance/hp-arkui-replace-nested-reusable-component-by-builder
- @performance/hp-arkui-set-cache-count-for-lazyforeach-grid
- 建議在Grid下使用LazyForEach時設定合理的cacheCount
- @performance/hp-arkui-suggest-cache-avplayer
- @performance/hp-arkui-suggest-reuseid-for-if-else-reusable-component
- @performance/hp-arkui-suggest-use-effectkit-blur
- 建議使用effectKit.createEffect實現模糊效果
- @performance/hp-arkui-suggest-use-get-anonymousid-async
- 建議在主執行緒中透過非同步獲取IFAA免密認證的匿名化ID
- @performance/hp-arkui-use-attributeUpdater-control-refresh-scope
- 建議使用attributeUpdater精準控制元件屬性的重新整理
- @performance/hp-arkui-use-grid-layout-options
- 建議在指定位置時使用GridLayoutOptions提升Grid效能
- @performance/hp-arkui-use-id-in-get-resource-sync-api
- 建議在使用API getColorSync和getStringSync時建議使用帶id版本
- @performance/hp-arkui-use-id-in-get-resource-sync-api
- 建議在使用API getColorSync和getStringSync時建議使用帶id版本
- @performance/hp-arkui-use-local-var-to-replace-state-var
- @performance/hp-arkui-use-object-link-to-replace-prop
- 建議使用@ObjectLink代替@Prop減少不必要的深複製
- @performance/hp-arkui-use-onAnimationStart-for-swiper-preload
- 建議Swiper預載入機制搭配 OnAnimationStart 介面回撥使用
- @performance/hp-arkui-use-reusable-component
- @performance/hp-arkui-use-row-column-to-replace-flex
- @performance/hp-arkui-use-scale-to-replace-attr-animateto
- @performance/hp-arkui-use-taskpool-for-web-request
- 建議網路資源的請求和返回使用taskpool執行緒池非同步處理
- @performance/hp-arkui-use-transition-to-replace-animateto
- @performance/hp-arkui-use-word-break-to-replace-zero-width-space
- 建議使用word-break替換零寬空格(\u200b)
- @performance/hp-performance-no-closures
- @performance/lottie-animation-destroy-check
- 該規則檢測使用lottie載入的動畫是否都正確銷燬
- @performance/no-high-loaded-frame-rate-range
- @performance/number-init-check
- @performance/sparse-array-check
- @performance/start-window-icon-check
- @performance/timezone-interface-check
- 在獲取非本地時間時,建議使用統一標準的i18n.Calendar介面獲取時間時區相關資訊
- @performance/typed-array-check
- @performance/waterflow-data-preload-check
- @performance/multiple-associations-state-var-check
- 多個元件關聯同一資料時,建議在元件中使用@Watch裝飾器新增更新條件,避免不必要的元件更新
- @performance/constant-property-referencing-check-in-loops
- 在迴圈如需頻繁訪問某個常量,且該屬性引用常量在迴圈中不會改變,建議提取到迴圈外部,減少屬性訪問的次數
- @performance/foreach-args-check
- 建議在ForEach引數中設定keyGenerator
- @previewer/mandatory-default-value-for-local-initialization
- 如果元件的屬性支援本地初始化,需要設定一個合法的不依賴執行時的預設值
- @previewer/no-page-method-on-preview-component
- 禁止在非路由元件上例項化onPageShow、onPageHide、onBackPress等頁面級方法
- @previewer/no-unallowed-decorator-on-root-component
- 對於@Entry元件,不允許使用@Consume、@Link、@ObjectLink、@Prop註解;對於@Preview元件,建議使用一個定義了完整的、合法的、不依賴執行時的預設值的父元件作為預覽該元件的容器
- @cross-device-app-dev/color-value
- 顏色值應當使用“$r”從color.json中引用,以適配不同的系統顏色模式,禁止使用固定的值
- @cross-device-app-dev/font-size-unit