dennisdoomen / CSharpGuidelines

A set of coding guidelines for C# 9.0, design principles and layout rules for improving the overall quality of your code development.
https://www.csharpcodingguidelines.com
Other
745 stars 272 forks source link

Added exception for immutable collections (AV1130) #165

Closed bkoelman closed 6 years ago

dennisdoomen commented 6 years ago

Did you intend to target master or can it be part of the next release?

bkoelman commented 6 years ago

What's the difference?

bkoelman commented 6 years ago

I'm guessing you intend master for minor corrections, while Develop is to be used for ongoing semantic changes.

I'm currently in the process of updating the analyzers in CSharpGuidelinesAnalyzer for the guidance changes from the past half year, submitting PRs here for whatever I come across. By the time I am done, I'm hoping we can create a new release of CSharpGuidelines to match with the analyzers release.

I was surprised to see that changes on the master branch become visible on the accompanying website, which I expected to represent the latest released version. And that the default GitHub branch is now Develop, which is where visitors get when they google the repo. This got me thinking about versioning. Instead of referring to the website, CSharpGuidelinesAnalyzer help URLs should point to a page on GitHub at a specific point in time (based on commit hash). So that users running an old version will get matching explanations, even for deleted rules.

Would you consider making master the default branch again, so visitors are seeing (almost) released rules by default? I find myself looking up the website and pasting AVxxxx in the search field more convenient than going to the Releases tab, download the html-version, search there etc.

But I'm just guessing a lot here. Can you clarify a bit how you would like things to work?

dennisdoomen commented 6 years ago

I'm guessing you intend master for minor corrections, while Develop is to be used for ongoing semantic changes.

The idea behind this is that master represents the official releases, so only important fixes should land there. Every fix technically means a new release on Github. Anything else should go to develop. In a way, this maps to GitFlow.

I was surprised to see that changes on the master branch become visible on the accompanying website, which I expected to represent the latest released version

That would require me to select a different branch for Github Pages.

Would you consider making master the default branch again, so visitors are seeing (almost) released rules by default? I find myself looking up the website and pasting AVxxxx in the search field more convenient than going to the Releases tab, download the html-version, search there etc.

Searching on the official web site doesn't work for me unfortunately. You can search on Github though.

bkoelman commented 6 years ago

I'll start targetting Develop for all changes after the next release, to keep master match with the latest released version. Things have gone a bit messy so far due to miscommunication.

I do use Github for searches. Therefore I'd like master to be the default branch, which is what visitors will see by default. Unfortunately that setting makes PRs target master too. But because there are less contributors than visitors it seems the best solution to me.

bkoelman commented 6 years ago

Also, GitHub search only finds results in the default branch, which currently is Develop. I do not think it is possible to search in master.

dennisdoomen commented 6 years ago

Alright. Let's switch the default branch to master again.

bkoelman commented 6 years ago

Would be great. Thanks.