Adopt the John Papa Style Guide for AngularJS

Registered by Travis Tripp

Summary
=======

Horizon should use the the John Papa Style Guide as the primary point of reference
for angular code style. This style guide has been endorsed by the AngularJS
team with the following statement "The most current and detailed Angular Style
Guide is the community-driven effort led by John Papa and Todd Motto."

Motivation
========

We need a consistent set of rules to enforce code style accepted into horizon. After two releases of real angular effort,we have not developed a quality code style guide of our own. It is best to adopt one recommended by the industry.

Description
=========

The style guide is found here:

https://github.com/johnpapa/angular-styleguide

When reviewing / writing good, please refer to the sections of this guide.
If an issue is encountered, note it with a comment and provide a link back
to the specific issue. For example, code that has implementation details prior
declared members should be marked with a pointer to:

https://github.com/johnpapa/angular-styleguide#style-y053

We will
1) Document it
2) Refactor existing code appropriately
3) Add style tests.

UX
===

There shouldn't be any major UX impact.

Testing
======

We need to bring in as much automated testing as possible. Probably start with the below:

JSCS: https://github.com/johnpapa/angular-styleguide#jscs
Linter: https://github.com/Gillespie59/eslint-plugin-angular/

Outside Dependencies
==================

ESLint (if used)

Requirements Update Required
========================

None at the moment.

Doc Impact
=========

Will update the contributing.rst file in docs.

Blueprint information

Status:
Complete
Approver:
David Lyle
Priority:
Low
Drafter:
Travis Tripp
Direction:
Approved
Assignee:
Travis Tripp
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon 8.0.0
Started by
Travis Tripp
Completed by
David Lyle

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/john-papa-style-guide,n,z

Addressed by: https://review.openstack.org/181311
    Adopt the John Papa Style Guide for AngularJS

Addressed by: https://review.openstack.org/211782
    Use the JP Style Guide for KeyStone Service

Addressed by: https://review.openstack.org/211783
    Use the JP Style Guide for Nova Service

Addressed by: https://review.openstack.org/212838
    Use the JP Style Guide for OpenStack Services

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.