2013-08-22 1 views
0

У нас есть ряд проблем, которые PMD определил для нас - многие из которых кажутся ничтожными. У меня есть список ниже - могу ли я спросить ум улья - если вам нужно было выбрать верхние 5 crticial правил из ниже списка, что бы они были? Я стараюсь сбалансировать усилия с критичностью того, что было бы плохо, если бы оно было сделано для производства.Вопросы ПМД в кодексе - важны ли они?

Заранее благодарен!

AssignmentInOperand

AvoidDeeplyNestedIfStmts

AvoidDuplicateLiterals

AvoidInstantiatingObjectsInLoops

ClassWithOnlyPrivateConstructorsShouldBeFinal

CollapsibleIfStatements

цикломатическая сложность

EmptyIfStmt

ExcessiveMethodLength

ExcessivePublicCount

ImmutableField

InefficientStringBuffering

InsufficientStringBufferDeclaration

LocalVariableCouldBeFinal

LooseCoupling

MethodArgumentCouldBeFinal

NcssMethodCount

NPathComplexity

PackageCase

PositionLiteralsFirstInComparisons

SignatureDeclareThrowsException

SingularField

TooManyFields

UncommentedEmptyConstructor

UncommentedEmptyMethod

UnusedImports

UnusedPrivateField

UseSingleton

+0

ОК - Я бы хотел добавить примечание к ответам. Я понимаю суть этих наборов правил и что их можно удалить, поэтому PMD игнорирует их. Мой вопрос больше соответствует следующим: «Если у вас ограниченные ресурсы, в лучшем случае, какой из TOP 5 в моем списке вы бы атаковали ?» – ved

ответ

1

Yikes! Можно было бы утверждать, что все из них указывают на базу кода, которая действительно нуждается в рефакторинге, чтобы улучшить повторное использование и будущую ремонтопригодность, и ни одна из них не «ничтожная». Имейте в виду, что статический анализ дает рекомендации и что вы лучше всего судите о том, что хорошо для вашего кода, ваших клиентов и вашего бюджета.

Но если мне нужно было выбрать несколько, чтобы сосредоточиться на первом, я бы пошел за теми, которые указывают на более глубокие архитектурные проблемы: AvoidDeeplyNestedIfStmts, CyclomaticComplexity, LooseCoupling, TooManyFields и ExcessiveMethodLength. Просто мои $ 0.02 ...

+0

Perfect - только то, что я искал – ved

0

PMD или любой другой статический анализатор кода поможет вам лучше писать код. Существуют определенные параметры/правила, по которым анализируется ваш код. Все, что критически, будет улавливаться java-компилятором.Эти инструменты просто помогают вам найти несколько недостатков в вашем коде и форматировать ваш код более чистым способом.

0

Чем больше вы исправляете, тем лучше и чище будет ваш код. Если вы считаете, что правило слишком «nitpicky», и вы не хотите, чтобы это сообщалось PMD, затем удалите это правило из файла rules.xml. PMD также позволяет размещать комментарии в вашем коде, чтобы игнорировать это событие.

+0

Посмотрите мое обновление – ved