-
Type:
Task
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 3.0
-
Component/s: Objective-C, Sonar Plugin
-
Labels:None
Create a rule repository for Objective-C and add to it all of the rules which RSPEC contain objective-c as targeted language:
- RSPEC-1878
- RSPEC-1836
- RSPEC-1774
- RSPEC-1763
- RSPEC-1762
- RSPEC-1761
- RSPEC-1751
- RSPEC-1749
- RSPEC-1707
- RSPEC-1705
- RSPEC-1656
- RSPEC-1642
- RSPEC-1484
- RSPEC-1451
- RSPEC-1301
- RSPEC-1264
- RSPEC-1259
- RSPEC-1227
- RSPEC-1199
- RSPEC-1198
- RSPEC-1151
- RSPEC-1135
- RSPEC-1134
- RSPEC-1131
- RSPEC-1116
- RSPEC-1103
- RSPEC-1081
- RSPEC-1079
- RSPEC-1067
- RSPEC-1066
- RSPEC-1005
- RSPEC-1004
- RSPEC-999
- RSPEC-998
- RSPEC-991
- RSPEC-988
- RSPEC-987
RSPEC-975- RSPEC-968
- RSPEC-959
- RSPEC-958
- RSPEC-956
- RSPEC-955
- RSPEC-954
- RSPEC-953
- RSPEC-943
- RSPEC-929
- RSPEC-924
- RSPEC-923
- RSPEC-922
RSPEC-921- RSPEC-916
RSPEC-913- RSPEC-912
RSPEC-911- RSPEC-909
RSPEC-908- RSPEC-907
RSPEC-882- RSPEC-881
- RSPEC-878
- RSPEC-868
- RSPEC-841
- RSPEC-824
- RSPEC-818
- RSPEC-817
- RSPEC-799
- RSPEC-798
- RSPEC-797
- RSPEC-796
RSPEC-788- RSPEC-787
- RSPEC-140
- RSPEC-139
- RSPEC-138
- RSPEC-134
- RSPEC-131
RSPEC-129- RSPEC-128
- RSPEC-126
- RSPEC-125
- RSPEC-124
- RSPEC-122
- RSPEC-117
- RSPEC-113
- RSPEC-108
- RSPEC-105
- RSPEC-104
- RSPEC-103
- RSPEC-1706
- RSPEC-1141
- RSPEC-1046
- RSPEC-1036
- RSPEC-107
- RSPEC-100
- RSPEC-101
- RSPEC-1541
- RSPEC-1483
- RSPEC-1482
- RSPEC-1477
- RSPEC-793
- RSPEC-1314
- RSPEC-1543
- RSPEC-1760
- not applicable for now, because underlying C standard is fixed to C11
- RSPEC-1764
- RSPEC-1862
partial
RSPECs created in arrears
CPP-64FileComplexity RSPEC-1908CPP-173GotoLabelInNestedBlock RSPEC-1909CPP-154/ CANSI-184 ObsoletePosixFunction RSPEC-1911CPP-139/ CANSI-185 NonReentrantFunction RSPEC-1912CPP-212SizeofSizeof RSPEC-1913CPP-216PPErrorDirectiveReached RSPEC-1914CPP-313PPDirectiveIndentation RSPEC-1915CPP-321PPBackslashNotLastCharacter RSPEC-1916CPP-312CommentMixedStyles RSPEC-1917
- implements
-
RSPEC-1004 C-Family: Init-declarator-lists and member-declarator-lists should consist of single init-declarators and member-declarators respectively
- Active
-
RSPEC-129 Analysis failure preventing from detecting quality flaws and bugs
- Closed
-
RSPEC-788 The character sequence /* shall not be used within a comment
- Closed
-
RSPEC-882 Assignment operators shall not be used in expressions that yield a Boolean value
- Closed
-
RSPEC-908 Any label referenced by a goto statement shall be declared in the same block, or in a block enclosing the goto statement
- Closed
-
RSPEC-911 The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement
- Closed
-
RSPEC-913 An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement
- Closed
-
RSPEC-921 Each switch statement should have at least one "case"
- Closed
-
RSPEC-975 The '\' character should not occur in a header file name
- Closed
-
RSPEC-100 Method names should comply with a naming convention
- Active
-
RSPEC-101 Class names should comply with a naming convention
- Active
-
RSPEC-103 Lines should not be too long
- Active
-
RSPEC-104 Files should not have too many lines of code
- Active
-
RSPEC-105 Tabulation characters should not be used
- Active
-
RSPEC-107 Functions should not have too many parameters
- Active
-
RSPEC-108 Nested blocks of code should not be left empty
- Active
-
RSPEC-109 Magic numbers should not be used
- Active
-
RSPEC-113 Files should contain an empty newline at the end
- Active
-
RSPEC-117 Local variable and function parameter names should comply with a naming convention
- Active
-
RSPEC-122 Statements should be on separate lines
- Active
-
RSPEC-124 Track comments matching a regular expression
- Active
-
RSPEC-125 Sections of code should not be commented out
- Active
-
RSPEC-126 "if ... else if" constructs should end with "else" clauses
- Active
-
RSPEC-128 Switch cases should end with an unconditional "break" statement
- Active
-
RSPEC-131 "switch" statements should have "default" clauses
- Active
-
RSPEC-134 Control flow statements "if", "for", "while", "switch" and "try" should not be nested too deeply
- Active
-
RSPEC-138 Functions should not have too many lines of code
- Active
-
RSPEC-139 Comments should not be located at the end of lines of code
- Active
-
RSPEC-140 Track breaches of an XPath rule
- Active
-
RSPEC-787 Source code should only use /* ... */ style comments
- Active
-
RSPEC-793 All uses of the #pragma directive should be documented
- Active
-
RSPEC-796 Only escape sequences defined in the ISO C standard should be used
- Active
-
RSPEC-797 Trigraphs should not be used
- Active
-
RSPEC-798 Digraphs should not be used
- Active
-
RSPEC-799 Identifiers should not be longer than 31 characters
- Active
-
RSPEC-817 Narrow and wide string literals should not be concatenated
- Active
-
RSPEC-818 Literal suffixes should be upper case
- Active
-
RSPEC-824 Functions should not be declared at block scope
- Active
-
RSPEC-841 "enum" members other than the first one should not be explicitly initialized unless all members are explicitly initialized
- Active
-
RSPEC-868 Operands of "&&" and "||" should be primary (C) or postfix (C++) expressions
- Active
-
RSPEC-878 Comma operator should not be used
- Active
-
RSPEC-881 Increment (++) and decrement (--) operators should not be used in a method call or mixed with other operators in an expression
- Active
-
RSPEC-907 "goto" statement should not be used
- Active
-
RSPEC-909 "continue" should not be used
- Active
-
RSPEC-912 The right-hand operands of && and || should not contain side effects
- Active
-
RSPEC-916 Switch labels should not be nested inside non-switch blocks
- Active
-
RSPEC-922 Evaluation of the operand to the sizeof operator shall not contain side effects
- Active
-
RSPEC-923 Functions should not be defined with a variable number of arguments
- Active
-
RSPEC-924 Loops should not have more than one "break" or "goto" statement
- Active
-
RSPEC-929 Functions without parameters should be declared with parameter type "void"
- Active
-
RSPEC-943 Object declarations should contain no more than 2 levels of pointer indirection
- Active
-
RSPEC-953 Unions should not be used
- Active
-
RSPEC-954 #include directives in a file should only be preceded by other preprocessor directives or comments
- Active
-
RSPEC-955 Non-standard characters should not occur in header file names in "#include" directives
- Active
-
RSPEC-956 "#include" directives should be followed by either <filename> or "filename" sequences
- Active
-
RSPEC-958 Macros should not be #define'd or #undef'd within a block
- Active
-
RSPEC-959 "#undef" should be used with caution
- Active
-
RSPEC-968 Preprocessor operators "#" and "##" should not be used
- Active
-
RSPEC-987 "<signal.h>" should not be used
- Active
-
RSPEC-988 "<stdio.h>" should not be used in production code
- Active
-
RSPEC-991 "<time.h>" should not be used
- Active
-
RSPEC-998 The name "main" should not be used for any function other than the global "main" function
- Active
-
RSPEC-999 "goto" should jump to labels declared later in the same function
- Active
-
RSPEC-1005 A function should have a single point of exit at the end of the function
- Active
-
RSPEC-1036 Control should not be transferred into a complex logic block using a "goto" or a "switch" statement
- Active
-
RSPEC-1046 Condition-specific "catch" handlers should not be used after the ellipsis (catch-all) handler
- Active
-
RSPEC-1066 Collapsible "if" statements should be merged
- Active
-
RSPEC-1067 Expressions should not be too complex
- Active
-
RSPEC-1079 "scanf()" and "fscanf()" format strings should specify a field width for the "%s" string placeholder
- Active
-
RSPEC-1081 Insecure functions should not be used
- Active
-
RSPEC-1103 "/*" and "//" should not be used within comments
- Active
-
RSPEC-1116 Empty statements should be removed
- Active
-
RSPEC-1131 Lines should not end with trailing whitespaces
- Active
-
RSPEC-1134 Track uses of "FIXME" tags
- Active
-
RSPEC-1135 Track uses of "TODO" tags
- Active
-
RSPEC-1141 Try-catch blocks should not be nested
- Active
-
RSPEC-1151 "switch case" clauses should not have too many lines of code
- Active
-
RSPEC-1198 Deprecated K&R syntax should not be used for function definition
- Active
-
RSPEC-1199 Nested code blocks should not be used
- Active
-
RSPEC-1227 break statements should not be used except for switch cases
- Active
-
RSPEC-1259 "typedef" should be used for function pointers
- Active
-
RSPEC-1264 A "while" loop should be used instead of a "for" loop
- Active
-
RSPEC-1301 "switch" statements should have at least 3 "case" clauses
- Active
-
RSPEC-1314 Octal values should not be used
- Active
-
RSPEC-1451 Track lack of copyright and license headers
- Active
-
RSPEC-1477 Source files should not have any duplicated blocks
- Active
-
RSPEC-1482 Branches should have sufficient coverage by unit tests
- Active
-
RSPEC-1483 Lines should have sufficient coverage by unit tests
- Active
-
RSPEC-1484 Track instances of below-threshold comment line density
- Active
-
RSPEC-1541 Cyclomatic Complexity of functions should not be too high
- Active
-
RSPEC-1543 Macro names should comply with a naming convention
- Active
-
RSPEC-1642 "struct" names should comply with a naming convention
- Active
-
RSPEC-1656 Variables should not be self-assigned
- Active
-
RSPEC-1705 The prefix increment/decrement form should be used
- Active
-
RSPEC-1706 Exceptions should not be used
- Active
-
RSPEC-1707 Track "TODO" and "FIXME" comments that do not contain a reference to a person
- Active
-
RSPEC-1749 Type specifiers should be listed in a standard order
- Active
-
RSPEC-1751 Loops with at most one iteration should be refactored
- Active
-
RSPEC-1761 Pre-defined macros should not be defined, redefined or undefined
- Active
-
RSPEC-1762 "#pragma warning (default: ...)" should not be used
- Active
-
RSPEC-1763 All code should be reachable
- Active
-
RSPEC-1764 Identical expressions should not be used on both sides of a binary operator
- Active
-
RSPEC-1774 The ternary operator should not be used
- Active
-
RSPEC-1836 "restrict" should not be used
- Active
-
RSPEC-1862 Related "if/else if" statements should not have the same condition
- Active
-
RSPEC-1878 "union" names should comply with a naming convention
- Active
-
RSPEC-1909 "goto" statements should not be used to jump into blocks
- Active
-
RSPEC-1911 Obsolete POSIX functions should not be used
- Active
-
RSPEC-1912 Non-reentrant POSIX functions should be replaced with their reentrant versions
- Active
-
RSPEC-1914 Track instances of the "#error" preprocessor directive being reached
- Active
-
RSPEC-1915 Preprocessor directives should not be indented
- Active
-
RSPEC-1916 Line continuation characters '\' should not be followed by trailing whitespace
- Active
-
RSPEC-1917 Comment styles "//" and "/* ... */" should not be mixed within a file
- Active
-
RSPEC-1908 Files should not be too complex
- Deprecated
-
RSPEC-1913 "sizeof(sizeof(...))" should not be used
- Deprecated
- is depended upon by
-
CPP-555 Add support for Objective-C language
-
- Closed
-