|
| This manual gives guidelines for developers working on the source
code for the Topographica simulator. Users will not usually need to
refer to this material, unless they plan to submit significant blocks
of code to the project (which is, of course, strongly encouraged!).
By default, all the text in this manual refers to program code
written in the Python language. There are also some bits of C/C++ code
in the simulator, which use different conventions.
- General guidelines
- General info on writing Python, plus Topographica-specific
conventions such as guidelines for naming, comments, documentation,
parameters, units, and external imports.
- Object-oriented design
- How to design well-structured code
- Importing files and packages
- How to import Topographica and external code
- ALERTs
- How to flag incorrect or confusing code or documentation
- GUI programming
- How to add functionality to the GUI
- Optimization
- When (and when not!) to optimize for performance, and how to do it
- Revision control
- How we keep track of changes to the code and other files
- Refactoring/testing tips
- Tips for improving existing code by refactoring
- Test suite
- Rationale behind unit tests; should eventually include information
about how to set up tests
- Releases
- How to make a new public release of Topographica
- Joining
- Anyone interested in
Topographica is welcome to join as a Topographica developer to get
read/write access, so that your changes can become part of the main
distribution. Just sign up for a free account at SourceForge.net, then email Jim
your username and what you want to do, and he'll tell you how to
proceed from there.
|