Как найти конкретные вхождения кода в коде Java с помощью правила сонара - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу дать разработчикам предположение, что, например: System.currentTimeMillis () не рекомендуется, и предоставить некоторые комментарии с альтернативными решениями.

AFAIK такого правила эхолота нет, если я создам новое илиесть опция для параметризации существующей?

Я обнаружил, что xpath для java больше не поддерживается, поэтому я прав, что написание пользовательского правила - единственный способ?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Вот пример установки предупреждений пользовательского метода с помощью сонара:

@Rule(key = "NoObjectWaitRule",
        name = "NoObjectWaitRule",
        description = "You should not use classic wait/notify mechanism. Instead use Java Concurrency API.",
        priority = Priority.MAJOR,
        tags =
        {
            "bad-practice"
        })
public class NoObjectWaitRule extends DisallowedMethodCheck
{

   public NoObjectWaitRule()
    {
        super.setClassName("java.lang.Object");
        super.setMethodName("wait");
        super.setAllOverloads(true);
    }

}
0 голосов
/ 03 декабря 2018

Вы ищете шаблонное правило S2253 , которое позволяет помечать вызовы для определенного метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...