-
Notifications
You must be signed in to change notification settings - Fork 248
Development
Andrei Novikov edited this page Sep 4, 2019
·
10 revisions
Thank that you are interested on contribution to pyclustering library by development. The best way is to contribute to the project is to create fork of the repository apply your changes, make sure that all unit-tests are passed and then create pull request.
Here you will find useful pages related to development contribution:
- Prepare working copy of the library;
- Brief intro to pyclustering source code;
- Run unit-tests for core of the library 'ccore';
- Run unit and integration tests for pyclustering;
- Build core of pyclustering library;
Here simple rules related to development process:
- Development is ongoing on development branch (for example, now it is 'x.x.dev'), not on 'master';
- Commit description show be in line with document 'Commit Policy';
- Changes from development branch 'x.x.dev' are merged to 'master' only when all tests are passed;
- Each implemented feature, for example, algorithm, must have example and tests. For example, for each clustering algorithm (pyclustering/cluster) you can find examples (pyclustering/cluster/examples) and tests (pyclustering/cluster/tests);
Here simple rules related to code:
- Snake case style is used in code of pyclustering and ccore;
- Enumerator members, const static variables are written in snake upper case, for example, ENUM_MEMBER_ONE, ENUM_MEMBER_TWO;
- ccore: each class member should have prefix m_<name_class_member>;
- ccore: each function/method argument should have prefix p_<name_argument>;
If you have any questions related to development issues do not hesitate to write a message using E-Mail: [email protected].