FIMS Developer Guide
1
About
1.1
Usage
1.2
Render book
1.3
Preview book
2
Code of Conduct
2.1
FIMS Contributor Conduct
2.2
Supporting Good Conduct
2.2.1
Reporting Unacceptable Behavior
2.2.2
Consequences of Violating Conduct
3
Style Guide
4
FIMS Governance
4.1
Developers
4.2
C++ developers
4.3
R developers
4.4
Reviewers
4.5
Project Lead
4.6
Director Of Software Development
4.7
Code of Conduct Adjudicator
4.8
External Collaborators
5
Contributor Guidelines
5.1
FIMS Branching Strategy
5.1.1
Branching Good Practices
5.1.2
Branch Protection
5.2
Coding Good Practices
6
Issue Tracking
6.1
Issue Labels
6.2
Issue Templates
6.3
Issue Lifecycle
6.4
Pull Requests
6.5
Code Review
6.5.1
Assigning Reviewers
6.5.2
Automated Testing
6.5.3
Review Checklist
6.5.4
Review Good Practices
6.6
Commit Messages
7
Software user guide
7.1
Installing the package from Github
7.1.1
Windows users
7.1.2
Mac users
7.1.3
Linux users
7.2
Installing from
R
7.3
Specifying and compiling the model
7.4
Extracting model output
8
Model specification
8.1
Model variables and bounds
8.2
Inherited functors from
TMB
8.2.1
Atomic functions
8.2.2
Statistical distributions
8.3
Beverton-Holt expected recruitment function
8.4
Logistic function with extensions
8.5
Catch and fishing mortality
8.6
Modeling loops
8.7
Expected numbers and quantities
8.8
Initial values
8.8.1
Initial N
8.8.2
Initial F
8.9
Likelihood calculations
9
.hpp template for C++ modules
10
Test case template
10.1
Introduction
10.2
C++ unit testing and benchmarking
10.2.1
Requirements
10.2.2
Quickstart for Windows user
10.2.3
Set up FIMS testing project
10.2.4
Unit test template
10.2.5
Unit test example
10.2.6
Add tests to
CMakeLists.txt
and run a binary
10.2.7
Benchmark template
10.2.8
Benchmark example
10.2.9
Add benchmarks to
CMakeLists.txt
and run the benchmark
10.3
R testing
10.3.1
R testthat template
10.4
Test case template and examples
10.4.1
Test case template
10.4.2
Test case examples
10.5
Glossary
10.5.1
Unit testing
10.5.2
Functional testing
10.5.3
Integration testing
10.5.4
Run-time testing
10.5.5
Regression testing
10.5.6
Platform compatibility testing
10.5.7
Beta testing
10.5.8
One-off testing
11
Documentation
11.1
Writing function reference
11.2
Writing a vignette
11.3
Step by step documentation update process
Glossary
Published with bookdown
FIMS Developer Handbook
Glossary
In this section we will define terms that come up throughout this handbook.