Added stylecop configuration file and rule set.

This commit is contained in:
Jarl Gullberg 2017-07-25 14:29:00 +02:00
parent 86f7c1945f
commit 2fd5486735
No known key found for this signature in database
GPG Key ID: 750FF6F6BDA72D23
3 changed files with 253 additions and 0 deletions

View File

@ -110,6 +110,10 @@
<None Include="paket.references" />
<None Include="paket.template" />
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="$(SolutionDir)\stylecop.json" Link="stylecop.json" />
<AdditionalFiles Include="..\stylecop.ruleset" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Choose>
<When

54
stylecop.json Normal file
View File

@ -0,0 +1,54 @@
{
"$schema" : "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
"settings" : {
"indentation" : {
"indentationSize" : 4,
"tabSize" : 4,
"useTabs" : false
},
"spacingRules" : {
},
"readabilityRules" : {
},
"orderingRules" : {
"elementOrder" : [
"kind",
"constant",
"accessibility",
"static",
"readonly"
],
"systemUsingDirectivesFirst" : true,
"usingDirectivesPlacement" : "outsideNamespace",
"blankLinesBetweenUsingGroups" : "allow"
},
"namingRules" : {
"allowCommonHungarianPrefixes" : true,
"allowedHungarianPrefixes" : []
},
"maintainabilityRules" : {
"topLevelTypes" : [
"class",
"interface",
"struct",
"enum"
]
},
"layoutRules" : {
"newlineAtEndOfFile" : "omit",
"allowConsecutiveUsings" : false
},
"documentationRules" : {
"companyName" : "OpenTK",
"copyrightText" : "Copyright (c) {companyName}. All Rights Reserved.\r\nLicensed under the MIT License. See License.txt in the project root for license information.",
"xmlHeader" : false,
"documentInterfaces" : true,
"documentExposedElements" : true,
"documentInternalElements" : true,
"documentPrivateElements" : false,
"documentPrivateFields" : false,
"documentationCulture" : "en-US",
"fileNamingConvention" : "stylecop"
}
}
}

195
stylecop.ruleset Normal file
View File

@ -0,0 +1,195 @@
<RuleSet Name="MP3Sharp Rules" ToolsVersion="12.0">
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<!-- Special rules -->
<Rule Id="SA0001" Action="None" /> <!-- XML comment analysis disabled -->
<Rule Id="SA0002" Action="None" /> <!-- Invalid settings file -->
<!-- Spacing rules -->
<Rule Id="SA1000" Action="None" /> <!-- Keywords must be spaced correctly -->
<Rule Id="SA1001" Action="None" /> <!-- Commas must be spaced correctly -->
<Rule Id="SA1002" Action="None" /> <!-- Semicolons must be spaced correctly -->
<Rule Id="SA1003" Action="None" /> <!-- Symbols must be spaced correctly -->
<Rule Id="SA1004" Action="None" /> <!-- Documentation lines must begin with single space -->
<Rule Id="SA1005" Action="None" /> <!-- Single line comments must begin with single space -->
<Rule Id="SA1006" Action="None" /> <!-- Preprocessor keywords must not be preceded by space -->
<Rule Id="SA1007" Action="None" /> <!-- Operator keyword must be followed by space -->
<Rule Id="SA1008" Action="None" /> <!-- Opening parenthesis must be spaced correctly -->
<Rule Id="SA1009" Action="None" /> <!-- Closing parenthesis must be spaced correctly -->
<Rule Id="SA1010" Action="None" /> <!-- Opening square brackets must be spaced correctly -->
<Rule Id="SA1011" Action="None" /> <!-- Closing square brackets must be spaced correctly -->
<Rule Id="SA1012" Action="None" /> <!-- Opening braces must be spaced correctly -->
<Rule Id="SA1013" Action="None" /> <!-- Closing braces must be spaced correctly -->
<Rule Id="SA1014" Action="None" /> <!-- Opening generic brackets must be spaced correctly -->
<Rule Id="SA1015" Action="None" /> <!-- Closing generic brackets must be spaced correctly -->
<Rule Id="SA1016" Action="None" /> <!-- Opening attribute brackets must be spaced correctly -->
<Rule Id="SA1017" Action="None" /> <!-- Closing attribute brackets must be spaced correctly -->
<Rule Id="SA1018" Action="None" /> <!-- Nullable type symbols must be spaced correctly -->
<Rule Id="SA1019" Action="None" /> <!-- Member access symbols must be spaced correctly -->
<Rule Id="SA1020" Action="None" /> <!-- Increment decrement symbols must be spaced correctly -->
<Rule Id="SA1021" Action="None" /> <!-- Negative signs must be spaced correctly -->
<Rule Id="SA1022" Action="None" /> <!-- Positive signs must be spaced correctly -->
<Rule Id="SA1023" Action="None" /> <!-- Dereference and access of symbols must be spaced correctly -->
<Rule Id="SA1024" Action="None" /> <!-- Colons Must Be Spaced Correctly -->
<Rule Id="SA1025" Action="None" /> <!-- Code must not contain multiple whitespace in a row -->
<Rule Id="SA1026" Action="None" /> <!-- Code must not contain space after new keyword in implicitly typed array allocation -->
<Rule Id="SA1027" Action="None" /> <!-- Use tabs correctly -->
<Rule Id="SA1028" Action="None" /> <!-- Code must not contain trailing whitespace -->
<!-- Readability rules -->
<Rule Id="SA1100" Action="None" /> <!-- Do not prefix calls with base unless local implementation exists -->
<Rule Id="SA1101" Action="None" /> <!-- Prefix local calls with this -->
<Rule Id="SA1102" Action="None" /> <!-- Query clause must follow previous clause -->
<Rule Id="SA1103" Action="None" /> <!-- Query clauses must be on separate lines or all on one line -->
<Rule Id="SA1104" Action="None" /> <!-- Query clause must begin on new line when previous clause spans multiple lines -->
<Rule Id="SA1105" Action="None" /> <!-- Query clauses spanning multiple lines must begin on own line -->
<Rule Id="SA1106" Action="None" /> <!-- Code must not contain empty statements -->
<Rule Id="SA1107" Action="None" /> <!-- Code must not contain multiple statements on one line -->
<Rule Id="SA1108" Action="None" /> <!-- Block statements must not contain embedded comments -->
<Rule Id="SA1110" Action="None" /> <!-- Opening parenthesis or bracket must be on declaration line -->
<Rule Id="SA1111" Action="None" /> <!-- Closing parenthesis must be on line of last parameter -->
<Rule Id="SA1112" Action="None" /> <!-- Closing parenthesis must be on line of opening parenthesis -->
<Rule Id="SA1113" Action="None" /> <!-- Comma must be on the same line as previous parameter -->
<Rule Id="SA1114" Action="None" /> <!-- Parameter list must follow declaration -->
<Rule Id="SA1115" Action="None" /> <!-- Parameter must follow comma -->
<Rule Id="SA1116" Action="None" /> <!-- Split parameters must start on line after declaration -->
<Rule Id="SA1117" Action="None" /> <!-- Parameters must be on same line or separate lines -->
<Rule Id="SA1118" Action="None" /> <!-- Parameter must not span multiple lines -->
<Rule Id="SA1119" Action="None" /> <!-- Statement must not use unnecessary parenthesis -->
<Rule Id="SA1120" Action="None" /> <!-- Comments must contain text -->
<Rule Id="SA1121" Action="None" /> <!-- Use built-in type alias -->
<Rule Id="SA1122" Action="None" /> <!-- Use string.Empty for empty strings -->
<Rule Id="SA1123" Action="None" /> <!-- Do not place regions within elements -->
<Rule Id="SA1124" Action="None" /> <!-- Do not use regions -->
<Rule Id="SA1125" Action="None" /> <!-- Use shorthand for nullable types -->
<Rule Id="SA1127" Action="None" /> <!-- Generic type constraints must be on their own line -->
<Rule Id="SA1128" Action="None" /> <!-- Put constructor initializers on their own line -->
<Rule Id="SA1129" Action="None" /> <!-- Do not use default value type constructor -->
<Rule Id="SA1130" Action="None" /> <!-- Use lambda syntax -->
<Rule Id="SA1131" Action="None" /> <!-- Use readable conditions -->
<Rule Id="SA1132" Action="None" /> <!-- Do not combine fields -->
<Rule Id="SA1133" Action="None" /> <!-- Do not combine attributes -->
<Rule Id="SA1134" Action="None" /> <!-- Attributes must not share line -->
<Rule Id="SA1136" Action="None" /> <!-- Enum values should be on separate lines -->
<!-- Ordering rules -->
<Rule Id="SA1200" Action="None" /> <!-- Using directives must be placed correctly -->
<Rule Id="SA1201" Action="None" /> <!-- Elements must appear in the correct order -->
<Rule Id="SA1202" Action="None" /> <!-- Elements must be ordered by access -->
<Rule Id="SA1203" Action="None" /> <!-- Constants must appear before fields -->
<Rule Id="SA1204" Action="None" /> <!-- Static elements must appear before instance elements -->
<Rule Id="SA1205" Action="None" /> <!-- Partial elements must declare access -->
<Rule Id="SA1206" Action="None" /> <!-- Declaration keywords must follow order -->
<Rule Id="SA1207" Action="None" /> <!-- Protected must come before internal -->
<Rule Id="SA1208" Action="None" /> <!-- System using directives must be placed before other using directives -->
<Rule Id="SA1209" Action="None" /> <!-- Using alias directives must be placed after other using directives -->
<Rule Id="SA1210" Action="None" /> <!-- Using directives must be ordered alphabetically by namespace -->
<Rule Id="SA1211" Action="None" /> <!-- Using alias directives must be ordered alphabetically by alias name -->
<Rule Id="SA1212" Action="None" /> <!-- Property accessors must follow order -->
<Rule Id="SA1213" Action="None" /> <!-- Event accessors must follow order -->
<Rule Id="SA1214" Action="None" /> <!-- Readonly fields must appear before non-readonly fields -->
<Rule Id="SA1216" Action="None" /> <!-- Using static directives must be placed at the correct location. -->
<Rule Id="SA1217" Action="None" /> <!-- Using static directives must be ordered alphabetically -->
<!-- Naming rules -->
<Rule Id="SA1300" Action="None" /> <!-- Element must begin with upper-case letter -->
<Rule Id="SA1302" Action="None" /> <!-- Interface names must begin with I -->
<Rule Id="SA1303" Action="None" /> <!-- Const field names must begin with upper-case letter -->
<Rule Id="SA1304" Action="None" /> <!-- Non-private readonly fields must begin with upper-case letter -->
<Rule Id="SA1305" Action="None" /> <!-- Field names must not use Hungarian notation -->
<Rule Id="SA1306" Action="None" /> <!-- Field names must begin with lower-case letter -->
<Rule Id="SA1307" Action="None" /> <!-- Accessible fields must begin with upper-case letter -->
<Rule Id="SA1308" Action="None" /> <!-- Variable names must not be prefixed -->
<Rule Id="SA1309" Action="None" /> <!-- Field names must not begin with underscore -->
<Rule Id="SA1310" Action="None" /> <!-- Field names must not contain underscore -->
<Rule Id="SA1311" Action="None" /> <!-- Static readonly fields must begin with upper-case letter -->
<Rule Id="SA1312" Action="None" /> <!-- Variable names must begin with lower-case letter -->
<Rule Id="SA1313" Action="None" /> <!-- Parameter names must begin with lower-case letter -->
<!-- Maintainability rules -->
<Rule Id="SA1400" Action="None" /> <!-- Access modifier must be declared -->
<Rule Id="SA1401" Action="None" /> <!-- Fields must be private -->
<Rule Id="SA1402" Action="None" /> <!-- File may only contain a single class -->
<Rule Id="SA1403" Action="None" /> <!-- File may only contain a single namespace -->
<Rule Id="SA1404" Action="None" /> <!-- Code analysis suppression must have justification -->
<Rule Id="SA1405" Action="None" /> <!-- Debug.Assert must provide message text -->
<Rule Id="SA1406" Action="None" /> <!-- Debug.Fail must provide message text -->
<Rule Id="SA1407" Action="None" /> <!-- Arithmetic expressions must declare precedence -->
<Rule Id="SA1408" Action="None" /> <!-- Conditional expressions must declare precedence -->
<Rule Id="SA1410" Action="None" /> <!-- Remove delegate parenthesis when possible -->
<Rule Id="SA1411" Action="None" /> <!-- Attribute constructor must not use unnecessary parenthesis -->
<Rule Id="SA1412" Action="None" /> <!-- Store files as UTF-8 with byte order mark -->
<Rule Id="SA1413" Action="None" /> <!-- Use trailing comma in multi-line initializers -->
<!-- Layout rules -->
<Rule Id="SA1500" Action="None" /> <!-- Braces for multi-line statements must not share line -->
<Rule Id="SA1501" Action="None" /> <!-- Statement must not be on a single line -->
<Rule Id="SA1502" Action="None" /> <!-- Element must not be on a single line -->
<Rule Id="SA1503" Action="None" /> <!-- Braces must not be omitted -->
<Rule Id="SA1504" Action="None" /> <!-- All accessors must be single-line or multi-line -->
<Rule Id="SA1505" Action="None" /> <!-- Opening braces must not be followed by blank line -->
<Rule Id="SA1506" Action="None" /> <!-- Element documentation headers must not be followed by blank line -->
<Rule Id="SA1507" Action="None" /> <!-- Code must not contain multiple blank lines in a row -->
<Rule Id="SA1508" Action="None" /> <!-- Closing braces must not be preceded by blank line -->
<Rule Id="SA1509" Action="None" /> <!-- Opening braces must not be preceded by blank line -->
<Rule Id="SA1510" Action="None" /> <!-- Chained statement blocks must not be preceded by blank line -->
<Rule Id="SA1511" Action="None" /> <!-- While-do footer must not be preceded by blank line -->
<Rule Id="SA1512" Action="None" /> <!-- Single-line comments must not be followed by blank line -->
<Rule Id="SA1513" Action="None" /> <!-- Closing brace must be followed by blank line -->
<Rule Id="SA1514" Action="None" /> <!-- Element documentation header must be preceded by blank line -->
<Rule Id="SA1515" Action="None" /> <!-- Single-line comment must be preceded by blank line -->
<Rule Id="SA1516" Action="None" /> <!-- Elements must be separated by blank line -->
<Rule Id="SA1517" Action="None" /> <!-- Code must not contain blank lines at start of file -->
<Rule Id="SA1518" Action="None" /> <!-- Use line endings correctly at end of file -->
<Rule Id="SA1519" Action="None" /> <!-- Braces must not be omitted from multi-line child statement -->
<Rule Id="SA1520" Action="None" /> <!-- Use braces consistently -->
<!-- Documentation rules -->
<Rule Id="SA1600" Action="None" /> <!-- Elements must be documented -->
<Rule Id="SA1601" Action="None" /> <!-- Partial elements must be documented -->
<Rule Id="SA1602" Action="None" /> <!-- Enumeration items must be documented -->
<Rule Id="SA1604" Action="None" /> <!-- Element documentation must have summary -->
<Rule Id="SA1605" Action="None" /> <!-- Partial element documentation must have summary -->
<Rule Id="SA1606" Action="None" /> <!-- Element documentation must have summary text -->
<Rule Id="SA1607" Action="None" /> <!-- Partial element documentation must have summary text -->
<Rule Id="SA1608" Action="None" /> <!-- Element documentation must not have default summary -->
<Rule Id="SA1609" Action="None" /> <!-- Property documentation must have value -->
<Rule Id="SA1610" Action="None" /> <!-- Property documentation must have value text -->
<Rule Id="SA1611" Action="None" /> <!-- Element parameters must be documented -->
<Rule Id="SA1612" Action="None" /> <!-- Element parameter documentation must match element parameters -->
<Rule Id="SA1613" Action="None" /> <!-- Element parameter documentation must declare parameter name -->
<Rule Id="SA1614" Action="None" /> <!-- Element parameter documentation must have text -->
<Rule Id="SA1615" Action="None" /> <!-- Element return value must be documented -->
<Rule Id="SA1616" Action="None" /> <!-- Element return value documentation must have text -->
<Rule Id="SA1617" Action="None" /> <!-- Void return value must not be documented -->
<Rule Id="SA1618" Action="None" /> <!-- Generic type parameters must be documented -->
<Rule Id="SA1619" Action="None" /> <!-- Generic type parameters must be documented partial class -->
<Rule Id="SA1620" Action="None" /> <!-- Generic type parameter documentation must match type parameters -->
<Rule Id="SA1621" Action="None" /> <!-- Generic type parameter documentation must declare parameter name -->
<Rule Id="SA1622" Action="None" /> <!-- Generic type parameter documentation must have text -->
<Rule Id="SA1623" Action="None" /> <!-- Property summary documentation must match accessors -->
<Rule Id="SA1624" Action="None" /> <!-- Property summary documentation must omit accessor with restricted access -->
<Rule Id="SA1625" Action="None" /> <!-- Element documentation must not be copied and pasted -->
<Rule Id="SA1626" Action="None" /> <!-- Single-line comments must not use documentation style slashes -->
<Rule Id="SA1627" Action="None" /> <!-- Documentation text must not be empty -->
<Rule Id="SA1633" Action="None" /> <!-- File must have header -->
<Rule Id="SA1634" Action="None" /> <!-- File header must show copyright -->
<Rule Id="SA1635" Action="None" /> <!-- File header must have copyright text -->
<Rule Id="SA1636" Action="None" /> <!-- File header copyright text must match -->
<Rule Id="SA1637" Action="None" /> <!-- File header must contain file name -->
<Rule Id="SA1638" Action="None" /> <!-- File header file name documentation must match file name -->
<Rule Id="SA1639" Action="None" /> <!-- File header must have summary -->
<Rule Id="SA1640" Action="None" /> <!-- File header must have valid company text -->
<Rule Id="SA1641" Action="None" /> <!-- File header company name text must match -->
<Rule Id="SA1642" Action="None" /> <!-- Constructor summary documentation must begin with standard text -->
<Rule Id="SA1643" Action="None" /> <!-- Destructor summary documentation must begin with standard text -->
<Rule Id="SA1648" Action="None" /> <!-- inheritdoc must be used with inheriting class -->
<Rule Id="SA1649" Action="None" /> <!-- File name must match first type name -->
<Rule Id="SA1651" Action="None" /> <!-- Do not use placeholder elements -->
<Rule Id="SX1101" Action="None" /> <!-- Do not prefix local calls with this. -->
<Rule Id="SX1309" Action="None" /> <!-- Field names must begin with underscore -->
<Rule Id="SX1309S" Action="None" /> <!-- Static field names must begin with underscore -->
</Rules>
</RuleSet>