wiki:Documentation

Version 2 (modified by mitar, 4 years ago) (diff)

Location of the documentation

The documentation is on the SVN (source:trunk/), in orange/doc/Orange. It can be compiled with  Sphinx.

See README.txt in that directory for instructions.

The actual documentation is intermixed in orange/doc/Orange/rst and scripts in orange/Orange. Regression testing and scripts are in orange/Orange/rst/code. Additional files, such as images, go into orange/Orange/rst/files.

Tips and Tricks

  • help with ReStructuredText
  • When manually describing a C++ class, use the .. py:class:: instead of .. class:: if you need to describe the parameters taken by the constructor. For example, this works as intended:
    .. py:class:: Orange.classification.rules.RuleLearner(storeExamples = true, targetClass = -1, baseRules = Orange.classification.rules.RuleList())
    

Underscores vs. mixedCase vs. CamelCase

The names of attributes and methods in C++ classes have been modified to underscore form (Value.var_type instead of Value.varType). Class names are in CamelCase (e.g. BayesClassifier). Names of functions within the module, e.g. orange.getClassDistributions are still in mixedCase.

Old names still work, except for referencing of unbound methods. E.g.

v = orange.EnumVariable(); v.getExisting()

is OK, but

orange.EnumVariable.getExisting()

is not. Former is uncommon, but needs to be found and modified manually.

For refactoring, mapping of names can be found in source/orange/aliases.txt, source/_underscored and source/_underscored_manual.