Please log in to watch this conference skillscast.
Looking at a software from the point of view of its unit tests often provides great insights on the architecture and the point of frictions.
A common issue in unit tests is the overuse of mocks and stubs. This most often caused by a design where objects have too many responsibilities and/or dependencies, and side effects. The components of such a system are hard to test, hence the need for mocks.
In contrast with such objects, code that uses concepts from the functional programming world such as immutability and pure functions is easier and safer to test.
Such functional code can be used to write highly testable and easy to work with application, with the help of functional reactive programming frameworks like ReactiveCocoa or RxSwift. This is the concept of “functional core, reactive shell”.
Software written in such way might look unconventional, and has a bit of a learning curve. The talk is to show that the advantages it brings make it a viable choice.
YOU MAY ALSO LIKE:
- Less Conventional Swift (SkillsCast recorded in October 2016)
- Bazel eXchange: Watch Party (in London on 21st June 2022)
- Bazel eXchange (Online Conference on 21st - 22nd June 2022)
- LDN Talks May 2022 - Quickwit Takeover (in London on 30th May 2022)
- Rust in 2024 (SkillsCast recorded in May 2022)
- Rust's Unique Ownership Concept: Practical Examples and Why It's Important (SkillsCast recorded in May 2022)