Skip to content

Commit

Permalink
Add CppCon Slides (#40)
Browse files Browse the repository at this point in the history
* Initial commit

* Update README.md

Co-authored-by: Griswald Brooks <[email protected]>

* Update README.md

Co-authored-by: Griswald Brooks <[email protected]>

* updated per PR comments

* Updated to fix linter

---------

Co-authored-by: Griswald Brooks <[email protected]>
  • Loading branch information
bgill92 and griswaldbrooks authored Oct 16, 2023
1 parent ddccce1 commit fa52bf2
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,3 +215,21 @@ Ensure that the directory is created and owned by the host user.
mkdir -p ~/.${REPO}/ccache
sudo chown -R $(id -u):$(id -g) ~/.${REPO}/ccache
```

# Additional Information
## CppCon 2023 Slides

The code in `functional_programming_tests` was presented at CppCon 2023 and ROSCon 2023. The abstract of the presentation is:

```
In the field of robotics, Robot Operating System (ROS) is the de facto middleware of choice across academia and industry.
As most code examples in ROS utilize an object-oriented approach, challenges can arise when writing tests for production code due to the algorithmic code being inextricably tied to the code that interacts with the middleware, often leading to unexpected bugs or flaky tests.
This talk explores ways to mitigate those issues by using a functional programming approach.
By adopting this approach, we can minimize the impact that ROS or other middleware has on your code, preventing it from becoming tightly coupled and brittle.
Attendees can expect an overview of ROS 2 and the conventional programming approach typically associated with it.
We'll delve into how tests are usually constructed and pinpoint potential sources of bugs and flakiness.
Following this, we will introduce a functional approach to writing test code.
By the end of this talk, attendees will learn an alternative method of architecting their ROS 2 code and also understand how this approach can lead to more robust, maintainable, and testable code.
```

The slides are located in `doc`.
Binary file added doc/CppCon_2023_Slides.pdf
Binary file not shown.

0 comments on commit fa52bf2

Please sign in to comment.