Wikia/guidelines — pull request #45 by drsnyder (2014-09-15 20:54:28+00:00)
Title: Add pull request guidelines & update the top level navigation

Add pull request guidelines and update the top level navigation [README.md](/README.md) to include a link to the [Process](Process) directory.

This document proposes a guideline for pull requests at Wikia. There is an existing Wikia pull request [document](https://www.google.com/url?q=https%3A%2F%2Fone.wikia-inc.com%2Fwiki%2FEngineering%2FGit%2FPull_Request_Etiquette&sa=D&sntz=1&usg=AFQjCNGYKygz_QdBvll52G6BQbAtENNNIw) (Pull Request Etiquette) that addresses etiquette but it doesn’t go far enough in encouraging the right level of communication and context.

## Background

Github pull requests are the critical medium through which the software at Wikia is created and changed. This forum should be leveraged to improve the quality of software development and invite more open discourse regarding software craftsmanship (style, implementation details, patterns, and best practices) both within and between teams.

Without guidelines, pull requests tend to converge on “minimum viability”. A “minimally viable” pull request contains a code diff and a title because this is all that is required to create the pull request on Github.

Pull request guidelines are a foundational step towards better software development practices. Pull request guidelines will nurture a culture of of broader peer review and lower friction across groups and services.

## Pull Request Examples (What Needs to Change)

Many of these examples contain only a title with little or no description. Although the pull request may have context and understanding within the team it makes it more difficult for someone outside of the team to review and comment.

A cross-team reviewer might comment differently knowing that this is production code, a “work in progress”, or a prototype.

1. https://github.com/Wikia/app/pull/4599: add logging
2. https://github.com/Wikia/app/pull/4480/files: add sizes to image placeholders
3. https://github.com/Wikia/app/pull/4477: Call something before and after
Contains description: DO NOT MERGE
4. https://github.com/Wikia/app/pull/4160: Don't merge ADEN-1235 Krux in head
5. https://github.com/Wikia/app/pull/4725: ADEN-1387 Mobile Web: Logged in users can't view any content in Special:Maps pages (Android & iOS)

## Examples Pointing a Way Forward

Note that the examples listed below contain two or more of the following:
A descriptive title including the ticket number.
A more detail description in the body of the pull request indicating the purpose of the pull request and the work being done.
A “cc” (copy) line or @ message to notify stakeholders or reviewers.
Tests that exercise the behavior being changed.

Examples:
1. https://github.com/Wikia/app/pull/3922: PLATFORM-75 Deprecate UploadFromUrlJob
2. https://github.com/Wikia/app/pull/3839: PLATFORM-275 Invoke UserRenameTask on default wikiCity only
3. https://github.com/Wikia/vignette/pull/15: PLAT-433 put the thumbnail under the original dir in the thumb path
4. https://github.com/Wikia/app/pull/4662: VE-1477: Hide selection and context menu while Template dialog is open

See [Process/Pull-Requests.md](https://github.com/Wikia/guidelines/blob/pull-request-guidelines/Process/Pull-Requests.md) for the meat of the guideline.

/cc @garthwebb @nmonterroso @pchojnacki @inez