1 # ---------------------------------------------------------------------------
3 # Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
4 # ---------------------------------------------------------------------------
5 # SquirrelJME is under the GNU General Public License v3+, or later.
6 # See license.mkd for licensing and copyright information.
7 # ---------------------------------------------------------------------------
8 # DESCRIPTION: Configuration for CodeClimate
9 # https://docs.codeclimate.com/docs/advanced-configuration
13 # The number of arguments for methods and such tends to be on the larger
14 # size since more arguments need to be passed. There are also standard
15 # APIs that will need to be considered in this as well.
20 # Due to the nature of being a JVM, the number of lines in a file can be
21 # quite high. Introducing more classes and methods just to move stuff out
22 # of classes and otherwise will just result in more confusion. Additionally
23 # with the number of comments that exist, this increases the file line
24 # count much. It would be better to still keep the comments because otherwise
25 # maintaining a complex project such as this one will be difficult.
30 # This is called "Cognitive Complexity" in the UI, it has a default low
31 # number at 5 which is too much for even the most simplest methods. It seems
32 # that using Synchronized will inflate the amount.
37 # The number of lines in methods in SquirrelJME is more than most other
38 # projects as there is more commenting and logic within them. It would
39 # degrade the quality and readability of the code if methods were split into
45 # The number of methods in a class tends to be on the higher side, especially
46 # with standardized classes.
51 # There may be many return statements in methods that consist of large
52 # switches, the default here is 4 which is too small for most of the code.
57 # Code duplication (affects all languages)
58 # https://docs.codeclimate.com/docs/default-analysis-configuration
68 # Ignore the Gradle plugin
74 # Ignore OpenGL Interfaces
75 - "**/opengles/GL10.java"
76 - "**/opengles/GL11.java"
78 # Testing Framework (It does very specific things)
81 # Code that effectively is the same and is not possible to correct
82 - "modules/midp-lcdui/src/main/java/javax/microedition/lcdui/__CanvasDefaultKeyListener__.java"
83 - "modules/midp-lcdui/src/main/java/javax/microedition/lcdui/__CustomItemKeyListener__.java"