Search a title or topic

Over 20 million podcasts, powered by 

Player FM logo
Artwork

Content provided by SmartLogic LLC. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by SmartLogic LLC or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.
Player FM - Podcast App
Go offline with the Player FM app!

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

46:02
 
Share
 

Fetch error

Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on December 26, 2024 11:48 (4M ago)

What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.

Manage episode 389412709 series 2493466
Content provided by SmartLogic LLC. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by SmartLogic LLC or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.

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 analysis
  • How Credo aims to offer flexible and educational guidance for Elixir developers
  • The complexities of method identification in Ruby and its impact on static analysis
  • Challenges posed by macros and dynamic code modification during compilation in Elixir
  • Reducing false positives in code analysis tools to minimize developer frustration
  • Promoting uniform coding practices through analysis tools
  • The significance of using analysis tools with clear, specific objectives
  • How coding standards can refine and improve coding styles over time
  • Building analysis tools and checks through an understanding of Abstract Syntax Trees (ASTs)
  • Potential advancements in the analysis of Phoenix templates and HTML in Elixir
  • Contrasting approaches to managing code and comments in Elixir and Ruby ASTs
  • The fine line between providing helpful guidance and imposing stylistic preferences
  • Heuristics in static analysis highlight inconsistencies without mandating style
  • The potential for more straightforward pattern matching in ASTs with future updates
  • The importance of a gradual implementation of tool updates to maintain backward compatibility
  • Creating tools that support and empower developers, rather than hinder them
  • How static analysis contributes to cleaner, more maintainable codebases
  • Potential future developments in the field of static code analysis
  • Practical applications of using linters like Credo and RuboCop in software development

Links mentioned in this episode:

Credo https://github.com/rrrene/credo
https://hexdocs.pm/credo/overview.html
Dogma: 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/parser
https://hex.pm/packages?search=credo&sort=recent_downloads
https://github.com/doorgan/sourceror
https://github.com/rrrene/credo/blob/master/lib/credo/check/readability/large_numbers.ex

Special Guests: Marc-André Lafortune and René Föhring.

  continue reading

190 episodes

Artwork
iconShare
 

Fetch error

Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on December 26, 2024 11:48 (4M ago)

What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.

Manage episode 389412709 series 2493466
Content provided by SmartLogic LLC. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by SmartLogic LLC or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.

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 analysis
  • How Credo aims to offer flexible and educational guidance for Elixir developers
  • The complexities of method identification in Ruby and its impact on static analysis
  • Challenges posed by macros and dynamic code modification during compilation in Elixir
  • Reducing false positives in code analysis tools to minimize developer frustration
  • Promoting uniform coding practices through analysis tools
  • The significance of using analysis tools with clear, specific objectives
  • How coding standards can refine and improve coding styles over time
  • Building analysis tools and checks through an understanding of Abstract Syntax Trees (ASTs)
  • Potential advancements in the analysis of Phoenix templates and HTML in Elixir
  • Contrasting approaches to managing code and comments in Elixir and Ruby ASTs
  • The fine line between providing helpful guidance and imposing stylistic preferences
  • Heuristics in static analysis highlight inconsistencies without mandating style
  • The potential for more straightforward pattern matching in ASTs with future updates
  • The importance of a gradual implementation of tool updates to maintain backward compatibility
  • Creating tools that support and empower developers, rather than hinder them
  • How static analysis contributes to cleaner, more maintainable codebases
  • Potential future developments in the field of static code analysis
  • Practical applications of using linters like Credo and RuboCop in software development

Links mentioned in this episode:

Credo https://github.com/rrrene/credo
https://hexdocs.pm/credo/overview.html
Dogma: 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/parser
https://hex.pm/packages?search=credo&sort=recent_downloads
https://github.com/doorgan/sourceror
https://github.com/rrrene/credo/blob/master/lib/credo/check/readability/large_numbers.ex

Special Guests: Marc-André Lafortune and René Föhring.

  continue reading

190 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Listen to this show while you explore
Play