
Contributor Guidelines
**********************

PRAW gladly welcomes new contributions. As with most larger projects,
we have an established consistent way of doing things. A consistent
style increases readability, decreases bug-potential and makes it
faster to understand how everything works together.

PRAW follows **PEP 8** and **PEP 257**. You can use "lint.sh" to test
for compliance with these PEP's. The following are PRAW-specific
guidelines in to those PEP's.


Code
====

* Objects are sorted alphabetically.

* Things should maintain the same name throughout the code. **kwargs
  should never be **kw.

* Things should be stored in the same data structure throughout the
  code.


Testing
=======

* If you're adding functionality, either add tests or suggest how it
  might be tested.

* In assertEquals, the first value should be the value you're
  testing and the second the known value.


Documentation
=============

* All publicly available functions, classes and modules should have
  a docstring.

* Use correct terminology. A subreddits name is something like '
  t5_xyfc7'. The correct term for a subreddits "name" like python is
  its display name.

* When referring to any reddit. Refer to it as 'reddit'. When you
  are speaking of the specific reddit instance with the website
  reddit.com, refer to it as 'reddit.com'. This helps prevent any
  confusion between what is universally true between all reddits and
  what specifically applies to the most known instance.
