Creation of Developer Guidance Wiki #1790
Replies: 25 comments
-
System Test meaning Integration test? Or both Unit and Integration Test? I want to chip in a few more. This is for the role of developers creating the PR.
For Reviewers: Let's have a minimum of 2 approvals rather than 1. |
Beta Was this translation helpful? Give feedback.
-
@Colin-Stone Can you explain this more? 1 issue per PR? |
Beta Was this translation helpful? Give feedback.
-
Sure. I wanted to say that we shouldn't be using PR's to include several issues in one review. It's fine if a single fix addresses several similar issues with a single fix go but they are sometimes just used to fix this and then something else not necessarily associated |
Beta Was this translation helpful? Give feedback.
-
okay. understood. Multiple Issues are allowed only if they are similar and connected to each other. 👍 |
Beta Was this translation helpful? Give feedback.
-
@jellypuno @zFernand0 I've made a start putting this into a Wiki here. https://github.com/zowe/vscode-extension-for-zowe/wiki/Best-Practices:-Contributor-Guidance We may want to consider adding more sections at some point or plan how we would like to use the wiki. |
Beta Was this translation helpful? Give feedback.
-
For PRs and Branches:
Need style sections on
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
This can be enforced i the GitHub Branch protection settings 😄
How about About the style section:
Do we need to define all the rules we've decided, or is it ok to just remind people that we do have styling rules being enforced?
@phaumer, How does the concept of modular styling apply here? (I'm thinking of pure imports on CSS)
Is "lower" |
Beta Was this translation helpful? Give feedback.
-
This may be tricky because the people updating the changelog may not know the version number that will be published yet. |
Beta Was this translation helpful? Give feedback.
-
I do like the idea of the changelog being updated by the individuals who made the change and know it best but I agree with Fernando that the decision of what build itwill go into may not have been made |
Beta Was this translation helpful? Give feedback.
-
Should we have a PR process review for Wikis? This may require a separate repository in the Zowe org. : ) |
Beta Was this translation helpful? Give feedback.
-
Definitely need a review process and common agreement. I think we could add one that covers coding and style too in which we could address a number of your ealier points |
Beta Was this translation helpful? Give feedback.
-
How about looking at vscode itself for coding/styling guidelines? This should bring us some consistency with the "mothership" 👽. |
Beta Was this translation helpful? Give feedback.
-
I understand. We could potentially have a second version that we use for active development, then have the content moved into the changelog.md during publishing (even in an automated way via jenkins). Since we are talking about establishing work processes, I guess everything goes, as long as we will agree on it. |
Beta Was this translation helpful? Give feedback.
-
I do agree that it may solve the immediate problem of having a person create the changelog update once a month. I'm not saying we shouldn't do it, just some things to consider. |
Beta Was this translation helpful? Give feedback.
-
Didn't knew this existed, just found it today😞, but we need to align also with Zowe general guidelines: |
Beta Was this translation helpful? Give feedback.
-
They all helps however I think we just need to disseminate and then agree as a squad the practices we want to work to. But it has to be an agreed approach. |
Beta Was this translation helpful? Give feedback.
-
If these guidelines are interfering with the direction you want to go on guidance for this project, let me know. I'd like to understand which guidelines interfere, if they should apply here, or if they should be rewritten in the ZLC guidelines. Thanks |
Beta Was this translation helpful? Give feedback.
-
I agree that these zlc guidelines are not a good fit and that you cannot have the same guidelines for all languages. For example, I think it is more common to have 4 spaces in TS than 2 and using uppercase constant names I think has seen its days ;-) I would split these guidelines into two though: (1) the ones that can be automatically enforced with eslint rules and prettier and (2) the one that cannot be automated that require human reviewers such as guidelines for what is a good class and module. (1) we should not even write down, but create an eslint file (tslint is deprecated) and review that. Stuff like formatting can be in here and enforces on Save with VS Code settings, but also rules such as requiring type declarations for all methods and function signatures, use of any, and many other rules that improve type-safety and maintainability can be enforced here. Some could lead to to errors, some just warnings. |
Beta Was this translation helpful? Give feedback.
-
Agree that we should have an eslint.config file for setting up rules. P.S. (Personally) I like 2 spaces 😄 (but I will go with the majority on this) |
Beta Was this translation helpful? Give feedback.
-
Do you think it's fair, to close PRs that are open for a long time and it is not approved because they are not following the guidelines? Like it's open for 1 month and then a bot will close it with a reason? |
Beta Was this translation helpful? Give feedback.
-
It depends... (Sorry to give an indecisive response) The CLI squad as a whole is responsible for reviewing but in certain circumstances and speaking for myself I simply don't have the cycles to do it and feel aggrieved if I am falling behind on my own tasks. Most of us too are only part time on the squad and have other 'duties' that mean we may be able to attend the scrums only. I think we need some "PR Champions". Who collectively represent the interests of the not only the PI items being worked on but defects and even external contributions and maybe we have a specific PR slot in the scrum when we can cover the PR list. If we do that I think we are at least acknowledging what PR's are out there and then I think we can legitimately start culling PR's that as you describe are not following the rules or are not in a fit state to be reviewed or out of date with master etc. The responsibility is with the creator of the PR not the reviewer and I would prefer not to be assigned to a PR by the creator as it almost feels as if the responsibility of it is being transferred to me without my agreement. |
Beta Was this translation helpful? Give feedback.
-
Add a label "Ready for review" to let the reviewers know that all checks and requirements are okay. |
Beta Was this translation helpful? Give feedback.
-
@phaumer Do you know of any guidelines from elsewhere that could be used as a strawman to base things on. Alex mentioned these https://github.com/Microsoft/vscode/wiki/Coding-Guidelines but I think it only touches on a few of the aspects. This issue itself is touching on a lot of different areas and there are going to be many more we haven't discussed yet. |
Beta Was this translation helpful? Give feedback.
-
We have previously discussed capturing best practices for developers of the Zowe Explorer.
I'll chip in with some points that would like the role of reviewer easier. These are suggestions only at this stage.
Review and Merge guidance to developers
Overall code refactoring effort
The addition of an interface allows the code base to move to a more maintainable OO style based around, classes and methods rather than functions. To this end no code should be added as functions inextension.ts or the ..Actions.ts files.
Code migration is still underway to create generic command related methods and some issues experienced merging changes previously however we should now be able to manage at a function to method level now the previous changes are solidified.
Testing
Beta Was this translation helpful? Give feedback.
All reactions