this is for holding javascript data
Antonino Ingargiola Gone through coding style section.
about 8 years ago
Commit id: 172e44f2b6ed8a19d34e0e21c8d676457ca4daf7
deletions | additions
diff --git a/Coding-style.tex b/Coding-style.tex
index cdc2145..f0446e5 100644
--- a/Coding-style.tex
+++ b/Coding-style.tex
...
Bugs are an inevitable reality in any reasonably complex software. It is
therefore critical to implement countermeasures measures which
minimize the probability of introducing bugs and their potential
impact~\cite{Prli__2012}. impact~\cite{Prli__2012, Wilson_2014}.
We strive to follow moder best-practices in software development which are summarized
below.
...
reduce the number of bugs by facilitating understanding and verifying the code.
For this puporpose, FRETBursts code-base is well commented (more that 35\%
of source code),
follows the
\href{https://www.python.org/dev/peps/pep-0008/}{PEP8 PEP8 python code style
rules}. rules (\href{https://www.python.org/dev/peps/pep-0008/}{link}),
and has docstrings in
\href{http://sphinxcontrib-napoleon.readthedocs.org/}{napoleon format}. napoleon format (\href{http://sphinxcontrib-napoleon.readthedocs.org/}{link}).
Reference documentation is built with
\href{http://sphinx-doc.org/}{Sphinx} Sphinx (\href{http://sphinx-doc.org/}{sphinx-doc.org})
and all the API documents are automatically generated from docstrings.
On each commit, documentation is automatically built and deployed on
\href{https://readthedocs.org/}{ReadTheDocs.org}.
Unit tests cover most of the core algorithms, ensuring consistency and
minimizing the probability of introducing bugs.
The
\href{http://travis-ci.org}{Travis CI} TravisCI (\href{http://travis-ci.org}{link}) continuous integration service,
executes the full test suite on each commit, timely reporting errors.
As a rule, whenever a bug is discovered, the fix also includes a new test
to ensure that the same bug cannot happen in the future.
In addition to the unit tests, we include a
\href{https://github.com/tritemio/FRETBursts/blob/master/notebooks/dev/tests/FRETBursts\%20-\%20Regression\%20tests.ipynb}{regression-test notebook} regression-test notebook
(\href{https://github.com/tritemio/FRETBursts/blob/master/notebooks/dev/tests/FRETBursts\%20-\%20Regression\%20tests.ipynb}{link})
to easily compares numerical results between two versions of FRETBursts.
Additionally, the tutorials themselves are executed before each release as
an additional test layer to ensure that no errors or regressions are introduced.
Finally, FRETBursts is openly developed using the
full set GitHub platform.
Contributors of
notebooks used any level of expertize are welcome in the
multi-spot paper analysis,
including notebooks for extensive µs-ALEX analysis are periodically
re-executed projects
and
results compared across executions publically acknowledged.
Contributions can be as simple as pointing out deficiencies in the
documentation but can also be bug reports or corrections to
ensure that
they agree within
the
floating point tolerances.
Code readability, best-practice development style documentation or code. Users willing to implement
new features are encouraged to open an Issue on GitHub and
extensive testing
contribute to
minimizing the presence submit
a Pull Request. The open source nature of
bugs in FRETBursts. FRETBursts guarantees that
contributions will remain available to the entire single-molecule
community.