Skip to content
This repository was archived by the owner on Aug 26, 2021. It is now read-only.

VIM-4977: JAM - Updated PR template proposal#125

Merged
nicolelehrer merged 7 commits intodevelopfrom
VIM-4977-jam-pr-template
Mar 30, 2017
Merged

VIM-4977: JAM - Updated PR template proposal#125
nicolelehrer merged 7 commits intodevelopfrom
VIM-4977-jam-pr-template

Conversation

@nicolelehrer
Copy link
Copy Markdown
Contributor

Ticket

VIM-4977

Ticket Summary

(1) Update the PR template to facilitate more helpful PR descriptions from developers.
(2) Add a PR checklist for the contributor to fill in prior to requesting PR review

Pain points this is trying to solve

  • We'd like to identify some expectations we have for devs who don't contribute to our repos regularly by listing them in a PR checklist

  • Sometimes we copy and paste the ticket description (if applicable) inside Issue Summary. Instead let's translate the ticket / general issue into the technical problem we're trying to solve so we're not trying to figure this out while reading about implementation.

    • instead of: "Build the new 'foo feature' page", do "(1) Implement a new collection view with cells that are populated by the foo object . (2) Implement cell that shrinks when not in center. (3) etc.."
    • instead of "Playback was not working in fullscreen", do "Play button unresponsive in fullscreen layout because of bad constraints".
  • A reviewer should have a big picture idea of how you solved the problem, how your changes relate to each other, and what your code will affect. Let's cover these in Implementation summary and Reviewer tips.

  • A reviewer shouldn't have to guess if a large chunk of code was copied and pasted or was actually changed. Let's indicate when this case happens inside Reviewer tips.

  • Let's try to make testing as easy as possible on the reviewer.

The intent of these bullet points is not to make PR descriptions longer, but more specific while remaining concise. These bullet points should be deleted if not applicable.

Implementation Summary

Added bullet points and checklist to help remind developers to provide more specific info on a PR for the reviewer.

How to Test

N/A

@nicolelehrer nicolelehrer self-assigned this Mar 27, 2017
@cameo-github
Copy link
Copy Markdown

cameo-github commented Mar 27, 2017

4 Warnings
⚠️ VimeoNetworking/Sources/Request+Notifications.swift#L54: result of call to ‘map’ is unused
notifications.map { (notification: VIMNotification) -> Void in
⚠️ VimeoNetworking/Sources/VimeoClient.swift#L328: cast from ‘Response<VIMNullResponse>’ to unrelated type ‘Response<ModelType>’ always fails
let response = Response(model: nullResponseObject, json: [:]) as! Response<ModelType>
⚠️ VimeoNetworking/Sources/Models/VIMVideoPreference.m#L41: incompatible pointer types assigning to ‘NSString * _Nullable’ from ‘VIMPrivacy * _Nullable’ [-Wincompatible-pointer-types]
privacy.view = self.privacy;
⚠️ VimeoNetworking/Sources/Models/VIMVODItem.m#L285: incompatible pointer types returning ‘VIMConnection * _Nullable’ from a function with result type ‘VIMVODConnection *’ [-Wincompatible-pointer-types]
return [self connectionWithName:VIMConnectionNameVideos];
1 Message
📖 Executed 22 tests, with 0 failures (0 unexpected) in 0.301 (0.325) seconds

See build details on CircleCI

Generated by 🚫 danger

Copy link
Copy Markdown

@kevinzetterstrom kevinzetterstrom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really great 😄 and I can't wait to start using this everywhere for increased clarity and ease of use. I just have a few small comments.

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated
@@ -0,0 +1,36 @@
#### Ticket (For Vimeo staff only)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As the first line of the template, do you think non-Vimeo Staff will see this and assume the entire template doesn't apply to them rather than just this section? I have gotten that feeling before when it's been included as the second line as it is within the Android public repos, like this. I'm not sure what the best approach would be to solve this if it is a problem. Perhaps reordering the section down further? - But I like having the ticket number at the top. Perhaps better copy?


- *Outline the goals of the PR in technical terms. If this branch fixes a bug, state what caused the bug.*

#### Pull Request Checklist
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it makes sense for Issue Summary to immediately precede Implementation Summary. Pull Request Checklist may make sense to move up or down. I almost feel like moving it up would be better, so reviewers immediately know the state of the PR before investing time reading summaries. What do you think?


#### Implementation Summary

- *Identify the core components that were added or changed, and briefly state the reasoning behind these changes.*
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

- *Provide the order in which files or components should be reviewed.*

- *List general components of the application that this PR will affect.*
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure the term application applies in this sense, since this is a library itself. Perhaps List general components that this PR will affect. would be better suited.

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

- *Identify necessary conditions for testing (e.g. logged out, bad connectivity).*

- *If a special type of account is needed for log in, contact a developer privately to provide credentials.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Copy link
Copy Markdown

@kevinzetterstrom kevinzetterstrom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@nicolelehrer
Copy link
Copy Markdown
Contributor Author

Thank you for the helpful feedback @kevinzetterstrom!

@ghking @jenniferlim @jasonhawkins @mikew-personal @supperspidey - please take a look at this PR as a proposed template for our public repos.

Also please take a glance at the original PR for private repos to confirm new changes are ok. https://github.vimeows.com/MobileApps/Vimeo-iOS/pull/1259

Once we are able to sign off, I'll update all public and private repos.

@nicolelehrer
Copy link
Copy Markdown
Contributor Author

cc: @fyell

#### Pull Request Checklist

- [ ] Resolved any merge conflicts
- [ ] No build errors or warnings are introduced
Copy link
Copy Markdown
Contributor

@fyell fyell Mar 30, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can these 2 be assumed from CI passing?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fyell the thought was folks shouldn't expect us to review if a build is broken or has warnings

Copy link
Copy Markdown
Contributor

@jasonhawkins jasonhawkins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I, along with these two folks –> 🔭👩🏻‍🔬👨🏻‍🔬🔬 – both highly respected in their fields – approve this pull request.

@jenniferlim
Copy link
Copy Markdown
Contributor

Looking great! @nicolelehrer. 😊

@fyell
Copy link
Copy Markdown
Contributor

fyell commented Mar 30, 2017

Looks fantastic to me 👍

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants