Comments (6)
grabbed
from stylecopanalyzers.
This one is a little bit tricky. I checked original StyleCop and for code like:
int [] a =new int[0];
var query = from m
in
a
where m > 5
& m > 2
group m by m into c
select c.Key;
it only reports where m > 5
as an incorrect part of the query. In my opinion it should report more. I'd understand this SA as: each query clause (from, in, where, group, select, let) should be on the same line as the previous line or at the next line. However, doing it this way we completly change the behaviour of this SA. @sharwell , @pdelvo , what do you think about it ?
from stylecopanalyzers.
The way I interpreted the rule is:
Locate every
where
,let
,group
,join
,order
, andselect
clause. If the query as a whole spans more than one line, then each of these keywords should appear as the first token on a new line, and there should not be a blank line before it.
I did not include from
in this list because it is always the first token of a query, and it may appear at the end of a line containing other tokens which are not part of a query (for example, the var query =
part of your sample code). I did not include in
because it is part of the from
clause, like by
is part of the order
clause.
For example, the following code, which is your original code without the blank lines, would not produce any SA1102 warnings:
int [] a =new int[0];
var query = from m
in
a
where m > 5
& m > 2
group m by m into c
select c.Key;
from stylecopanalyzers.
Ok, so (just curious) you are the author of the original SA ?
from stylecopanalyzers.
No, I'm actually not even a user of it. 😁
I'm interested in this project primarily for the learning opportunity, although I do want to see it succeed for StyleCop users.
from stylecopanalyzers.
Allright. I'll implement it the way you proposed, because it's a very reasonable solution.
from stylecopanalyzers.
Related Issues (20)
- SA1402 doesn't recognize records HOT 5
- SA1516 is reported between extern alias and global using HOT 5
- Extend SA1129 to cover parameterless struct constructors HOT 1
- SA1015 false positive on object initializer HOT 3
- SA1012 incorrectly reported on opening brace in List Pattern matching HOT 2
- Add option to detect unused using HOT 7
- SA1010 conflicts with SA1024 when invoking a method using named arguments with collection expression HOT 3
- SA1649 code fix (rename file) copies linked files into all referencing projects HOT 1
- New beta? HOT 2
- SA0102 appears to be falsely reported for file scoped namespaces? (1.2.0-beta.556) HOT 1
- SA1122 Inconsistent StyleCopAnalyzers Warning and Compiler Error for Empty Strings in Switch Statements HOT 6
- SA1508 SA1502 SA1500 Nullreference Exception & SA1106 false positive HOT 4
- SA1137 picks the wrong starting indentation
- SA1200 (Using directives must be placed correctly) is firing in file with only global usings
- Code Fix Provider for SA1402 adds extra space
- New Rule Proposal: SA1404 but for ExcludeFromCoverage
- SA1316 should not be reported for tuple deconstruction HOT 7
- Explicit interface implementation triggers access level error HOT 3
- SA1135 throws exception for type keywords HOT 4
- SA1135 inconsistent regarding use of aliases HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stylecopanalyzers.