Static Code Analysis in Elixir vs. Ruby with René Föhring & Marc-André Lafortune

Static Code Analysis in Elixir vs. Ruby with René Föhring & Marc-André Lafortune

Released Thursday, 14th December 2023
Good episode? Give it some love!
Static Code Analysis in Elixir vs. Ruby with René Föhring & Marc-André Lafortune

Static Code Analysis in Elixir vs. Ruby with René Föhring & Marc-André Lafortune

Static Code Analysis in Elixir vs. Ruby with René Föhring & Marc-André Lafortune

Static Code Analysis in Elixir vs. Ruby with René Föhring & Marc-André Lafortune

Thursday, 14th December 2023
Good episode? Give it some love!
Rate Episode

In this episode of Elixir Wizards, hosts Owen and Dan are joined by René Föhring, creator of Credo for Elixir, and Marc-André LaFortune, head maintainer of the RuboCop AST library for Ruby. They compare static code analysis in Ruby versus Elixir. The conversation explores the intricacies and challenges inherent in static code analysis across object-oriented and functional programming paradigms, highlighting the unique characteristics of both Ruby and Elixir. Key topics of discussion include the ways these tools can enhance coding styles and empower developers, the delicate balance between providing guidance and enforcing rules, and the evolving future of code analysis in these languages.Topics discussed in this episode:The differences and applications between static and dynamic analysisHow Credo aims to offer flexible and educational guidance for Elixir developersThe complexities of method identification in Ruby and its impact on static analysisChallenges posed by macros and dynamic code modification during compilation in ElixirReducing false positives in code analysis tools to minimize developer frustrationPromoting uniform coding practices through analysis toolsThe significance of using analysis tools with clear, specific objectivesHow coding standards can refine and improve coding styles over timeBuilding analysis tools and checks through an understanding of Abstract Syntax Trees (ASTs)Potential advancements in the analysis of Phoenix templates and HTML in ElixirContrasting approaches to managing code and comments in Elixir and Ruby ASTsThe fine line between providing helpful guidance and imposing stylistic preferencesHeuristics in static analysis highlight inconsistencies without mandating styleThe potential for more straightforward pattern matching in ASTs with future updatesThe importance of a gradual implementation of tool updates to maintain backward compatibilityCreating tools that support and empower developers, rather than hinder themHow static analysis contributes to cleaner, more maintainable codebasesPotential future developments in the field of static code analysisPractical applications of using linters like Credo and RuboCop in software developmentLinks mentioned in this episode:Credo https://github.com/rrrene/credohttps://hexdocs.pm/credo/overview.htmlDogma: A code style linter for Elixir https://github.com/lpil/dogma https://github.com/rubocop/rubocop RuboCop's AST extensions and NodePattern functionality https://github.com/rubocop/rubocop-ast https://github.com/whitequark/parserhttps://hex.pm/packages?search=credo&sort=recentdownloadshttps://github.com/doorgan/sourcerorhttps://github.com/rrrene/credo/blob/master/lib/credo/check/readability/largenumbers.ex Special Guests: Marc-André Lafortune and René Föhring.

Show More

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features