Understanding Code Shepherding in Elixir

98
clicks
Understanding Code Shepherding in Elixir
The session covered by Amos King titled 'The Importance of Shepherding', focused on the proactive maintenance and understanding of codebases in Elixir. 'Shepherding' refers to the process of overseeing and managing code similarly to how a shepherd manages a flock. Amos underlined the necessity of this process, likening the management of code processes to a shepherd knowing their flock. He discussed the high stress associated with shepherding due to its requirement of tracking numerous 'sheep' or processes. This task, while demanding, is crucial in preventing sickness or bugs from permeating an entire system. The talk further explored the use of debugging as a primary method for understanding and improving code, with the process being time-consuming and costly. A considerable portion of a software project’s budget is dedicated to debugging. Amos suggests that reducing debugging expenses involves using powerful tools like Elixir’s built-in tools along with Erlang’s Recon package for real-time tracing and debugging without the need to change production code. The importance of proper documentation using types was underscored to avoid confusion in data structures being passed around. King wrapped up by showcasing a demonstration of a bug in an Elixir LiveView application and utilizing Recon Trace to identify and troubleshoot the problem.

© HashMerge 2024