为什么 public 方法需要记录调用?

Why do public methods require logging calls?

我做了一个public class AlertDialogManager 如下图,

public class AlertDialogManager {

/**
 * Function to display simple Alert Dialog
 * @param context - application context
 * @param title - alert dialog title
 * @param message - alert message
 * @param status - success/failure (used to set cancelable)
 * */

 public void showAlertDialog(Context context, String title, String message, Boolean status) {
     Log.i("DEBUG","Alert has been called");
     new AlertDialog.Builder(context)
             .setTitle(title)
             .setMessage(message)
             .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int which) {
                     Log.i(CommonUtilities.TAG,"ok has been clicked");
                 }
             })
             .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int which) {
                     Log.i(CommonUtilities.TAG,"Cancel has been clicked");
                 }
             })
             .setIcon(R.drawable.alert)
             .setCancelable(status)
             .show();
       }
}

因此,我在 android 工作室中收到此警告。

如您所见,同样的错误“'public' 方法 'showAlertDialog()' 没有记录调用 报告任何不包含日志语句的 public 方法。此检查不报告简单的 getter 和 setter

这对 class AlertDialogManager、它的方法 showAlertDialog 和两个 onClick 重复。

通过记录我认为它们的意思是 Log.i("TAG","Message") 并相应地添加了它们。

所以,我似乎无法理解这个警告。因此,我感谢任何有助于理解它的帮助。

您启用了更多 lint 检查 - 可能是全部。 这是我这边的截图:

所以我在这里打开设置,然后在搜索框中输入 logger。可以看到选中的lint检查:Class without logger
所以这是在 Java -> 日志记录问题 中。在我的例子中,它没有启用,我使用默认设置进行 lint 检查(检查)。我认为这可能对 Java 应用程序更有帮助,但是我没有在纯粹的 Java 中使用过这样的记录器,所以我不能确定。无论如何,我建议您禁用此检查,除非它对于您的 team/company...

是强制性的

您使用的日志 class 是 Android SDK 的一部分,我想这可能是它没有 'fix' 警告的原因。