【问题标题】:Flutter/Dart find unused files or widgetsFlutter/Dart 查找未使用的文件或小部件
【发布时间】:2021-02-15 05:16:08
【问题描述】:

我正在开发一个现有的应用程序,它有太多未使用的文件或小部件,我需要找到所有并清理代码

如何在 Flutter/dart 环境中找到未使用的文件/小部件?我正在使用 android studio 作为我的 IDE

【问题讨论】:

    标签: android-studio flutter dart


    【解决方案1】:

    右键单击文件并选择Find Usages。它将在项目和库中找到该文件的所有用法。 在另一个类中实现的未使用的小部件在其类名上具有灰色字体,这有助于您识别它们。

    【讨论】:

    【解决方案2】:

    还有一个选择是使用带有 find 和 grep 的 bash 脚本。 这将检查是否有任何文件未在其他文件中导入(main.dart 通常在该列表中,但其他文件不应该)。 它在某些边缘情况下可能会失败,但对于我的用例来说效果很好,也可能对您有所帮助。

    脚本必须放在项目的根文件夹中,所有代码都应该在lib/目录中。

    我刚刚用它删除了我项目中的 15 个未使用的文件,感觉已经轻松了 :)

    #!/bin/bash
      
    
    cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1
    
    find lib/ -name *.dart -print0 | while read -d $'\0' file
    do
            name="$(basename ${file})"
            grep -rn -F -q "${name}" lib/
            if [ $? -ne 0 ]
            then
                    echo "Unused file: ${file}"
            fi
    done
    

    在 linux 上测试,但也应该在 windows 上的 macos 和 bash 上工作(可能有一些小的修改(find 和 grep 可能有一些其他标志)。

    【讨论】:

      【解决方案3】:

      Dart 代码指标https://pub.dev/packages/dart_code_metrics 支持为flutter查找未使用的文件。

      安装:

            flutter pub add --dev dart_code_metrics
      

      运行“flutter packages get”或使用您的 IDE 来“Pub get”。

      运行:

           flutter pub run dart_code_metrics:metrics check-unused-files lib
      

      结果:

          Unused file: lib/generated_plugin_registrant.dart
          Unused file: lib/ux/Pdf/makepdfdocument.dart
          Unused file: lib/ux/RealEstate/realestatetable.dart
      ...
      Total unused files - 11
      

      Howo to find unused dart or flutter files (Medium)

      Introduction to dart-code-metrics (Medium)

      代码指标还可以提供以下方面的洞察:

      • 圈复杂度
      • 代码行
      • 最大嵌套
      • 方法数
      • 参数数量
      • 源代码行
      • 类的重量

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-23
        • 2021-01-12
        • 2021-08-26
        • 2022-01-20
        • 2021-07-29
        • 2021-12-01
        • 2021-03-31
        • 2023-03-07
        相关资源
        最近更新 更多