mirror of
https://github.com/evennia/evennia.git
synced 2026-03-17 05:16:31 +01:00
59 lines
2.4 KiB
Text
59 lines
2.4 KiB
Text
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.
|
|
* Imports are to be done in this order:
|
|
- Python modules (builtins and modules otherwise unrelated to Evennia)
|
|
- Twisted
|
|
- Django
|
|
- Evennia src/ modules
|
|
- Evennia game/ modules
|
|
|
|
Documentation
|
|
-------------
|
|
Remember that Evennia's source code is intended to be read - and will be read - by
|
|
game admins trying to implement various features. 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.
|