mirror of
https://github.com/evennia/evennia.git
synced 2025-10-30 03:44:47 +00:00
64 lines
2.4 KiB
Plaintext
64 lines
2.4 KiB
Plaintext
Evennia Code Style
|
|
------------------
|
|
All code submitted or committed to the Evennia project needs to follow
|
|
the guidelines outlined in Python PEP 8, which may be found at:
|
|
|
|
http://www.python.org/dev/peps/pep-0008/
|
|
|
|
A quick list of code style points
|
|
---------------------------------
|
|
* 4-space indendation, NO TABS!
|
|
* Unix line endings.
|
|
* CamelCase is only used for classes, nothing else.
|
|
* All non-global variable names and all function names are to be
|
|
lowercase, words separated by underscores. Variable names should
|
|
always be more than two letters long.
|
|
* Module-level global variables (only) are to be in CAPITAL letters.
|
|
* (Evennia-specific): Imports should normally be done in this order:
|
|
- Python modules (builtins and standard library)
|
|
- Twisted modules
|
|
- Django modules
|
|
- Evennia src/ modules
|
|
- Evennia game/ modules
|
|
- Evennia 'ev' API imports
|
|
|
|
Documentation
|
|
-------------
|
|
Remember that Evennia's source code is intended to be read - and will
|
|
be read - by game admins trying to implement their game. Evennia
|
|
prides itself with being extensively documented. Modules, functions,
|
|
classes and class methods should all start with at least one line of
|
|
docstring summing up the function's purpose. Ideally also explain
|
|
eventual arguments and caveats. Add comments where appropriate.
|
|
|
|
Pylint
|
|
------
|
|
The program 'pylint' (http://www.logilab.org/857) is a useful tool for
|
|
checking your Python code for errors. It will also check how well your
|
|
code adheres to the PEP 8 guidelines (such as lack of docstrings) and
|
|
tells you what can be improved.
|
|
|
|
Since pylint cannot catch dynamically created variables used in
|
|
commands and elsewhere in Evennia, one needs to reduce some checks to
|
|
avoid false errors and warnings. For best results, run pylint like
|
|
this:
|
|
|
|
> pylint --disable=E1101,E0102,F0401,W0232,R0903 filename.py
|
|
|
|
To avoid entering the options every time, you can auto-create a
|
|
pylintrc file by using the option --generate-rcfile. You need to dump
|
|
this output into a file .pylintrc, for example like this (linux):
|
|
|
|
> pylint --disable=E1101,E0102,F0401,W0232,R0903 --generate-rcfile > ~/.pylintrc
|
|
|
|
From now on you can then just run
|
|
|
|
> pylint filename.py
|
|
|
|
Ask Questions!
|
|
--------------
|
|
If any of the rules outlined in PEP 8 or in the sections above doesn't
|
|
make sense, please don't hesitate to ask on the Evennia mailing list
|
|
at http://evennia.com. Keeping our code style uniform makes this
|
|
project much easier for a wider group of people to participate in.
|