鴻蒙高質量程式碼靜態檢測200條三

龙儿筝發表於2024-11-13
  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,以適配系統字型設定

相關文章