hi leute,
ich muss mein programm mit sonar validiieren und alle cyclomatischen komplexitäten auf unter 10 bringen
das heißt in einer methode dürfen maximal 10 (if,else,switch,for,||,&&) vorkommen
in meinem actionl istener sind es aber lieder 10 ....
und da werden noch mindestens 4 dazu kommen ....
wie kann das am besten reduzieren ....
ich muss mein programm mit sonar validiieren und alle cyclomatischen komplexitäten auf unter 10 bringen
das heißt in einer methode dürfen maximal 10 (if,else,switch,for,||,&&) vorkommen
in meinem actionl istener sind es aber lieder 10 ....
und da werden noch mindestens 4 dazu kommen ....
wie kann das am besten reduzieren ....
Java:
@Override
public void actionPerformed(final ActionEvent e) {
// Exit Game
if (e.getSource().equals(this.item2)) {
final int n = JOptionPane.showConfirmDialog(this, "Do you realy want to Exit the game?", "Exit game", JOptionPane.YES_NO_OPTION);
if (n == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
//Start new Game
if (e.getSource().equals(this.item1)) {
final int start = JOptionPane.showConfirmDialog(this, "Do you want to start a new game?", "Start game", JOptionPane.YES_NO_OPTION);
if (start == JOptionPane.YES_OPTION) {
try {
initGuiGame();
} catch (InterruptedException ex) {
logger.ErrorLog.errorLog("Error while initilalizing game " + ex);
}
}
}
//About dialog
if (e.getSource().equals(this.item4)) {
double version = playlogic.Global_vars.getVersion();
String string = "Version: " + version;
JOptionPane.showMessageDialog(this, string, "About", JOptionPane.INFORMATION_MESSAGE);
}
//New Card
if ("newCard".endsWith(e.getActionCommand())) {
this.newGuigame.newCard(0);
this.cardsOut(0);
}
//Players selection
if (e.getSource().equals(this.playCard)) {
int index = userCards.getSelectedIndex();
//Output for Validate Players Choise
//JOptionPane.showMessageDialog(this, index, "About", JOptionPane.INFORMATION_MESSAGE);
this.newGuigame.playersTurn(index, 0);
try {
guiPlay();
} catch (InterruptedException ex) {
logger.ErrorLog.errorLog("Error: " + ex);
}
}
//Display Rules
if (e.getSource().equals(this.item3)) {
try {
new unogui.GuiRules();
} catch (IOException ex) {
logger.ErrorLog.errorLog("Error while loading gui-rules " + ex);
}
}
}