Writing docstrings
==================

The project takes pride in its documentation for the strategies
and its corresponding bibliography. The docstring is a string
which describes a method, module or class. The docstrings help
the user in understanding the working of the strategy
and the source of the strategy. The docstring must be written in
the following way, i.e.::

    """This is a docstring.

   It can be written over multiple lines.

   """

Sections
--------

The Sections of the docstring are:

1. **Working of the strategy**

   A brief summary on how the strategy works, E.g.::

        class TitForTat(Player):
        """
        A player starts by cooperating and then mimics the
        previous action of the opponent.
        """

2. **Bibliography/Source of the strategy**

   A section to mention the source of the strategy
   or the paper from which the strategy was taken.
   The section must start with the Names section.
   For E.g.::

        class TitForTat(Player):
        """
        A player starts by cooperating and then mimics the
        previous action of the opponent.

        Names:

        - Rapoport's strategy: [Axelrod1980]_
        - TitForTat: [Axelrod1980]_
        """

   Here, the info written under the Names section
   tells about the source of the TitforTat strategy.
   :code:`[Axelrod1980]_` corresponds to the bibliographic item in
   :code:`docs/reference/bibliography.rst`. If you are using a source
   that is not in the bibliography please add it.
