Вы должны реорганизовать свой код и выделить отдельные логики c в отдельные меньшие методы, это поможет вам в двух направлениях:
- Это сделает код более модульным и обслуживаемым.
- Меньшие методы легче тестировать и снижают вероятность появления ошибок в будущем.
И, как побочный продукт, когнитивная сложность методов также уменьшится.
Например:
Из этого метода:
private void doActionForUldProfileRecordGrid(ListSelectionEvent e)
{
Object source = e.getSource();
if ((uldProfileTab.getRecordsGrid() != null) && (source == uldProfileTab.getRecordsGrid().getSelectionModel()))
{
try
{
if (uldProfileTab.getRecordsGrid() != null)
{
UldProfileRec data = (UldProfileRec) getDataVector().elementAt(uldProfileTab.getRecordsGrid()
.getActiveRow());
if ((data != null) && Str.isNotEmpty(data.contourGroup))
{
**ContourGroup contourGroup = ContourGroupServiceCallUtil.getContourGroup(data.contourGroup);
if ((uldProfileTab.getRecordsGrid().getActiveRow()
== (uldProfileTab.getRecordsGrid().getRowCount() - 1)))
{
data = new UldProfileRec();
getDataVector().addElement(data);
}
if (contourGroup != null)
{
data.setBaseWeight(contourGroup.defaultWeight());
data.setBaseVolume(contourGroup.defaultVolume());
data.deck(contourGroup.getDeckDescription());
}**
}
if (data != null)
{
setWeightVolume(data, data.position());
}
}
}
catch (VerifyException ve)
{
LOGGER.warn(ve.getLocalizedMessage(), ve);
}
} // end if
Вы можете выполнить рефакторинг выделенной части, можете переместить ее в отдельный метод.