In Office Hours Episode 6, SmartLogic Developers Anna Dorigo and Bilal Hankins join Elixir Wizards Sundi and Dan to discuss their experiences maintaining a decade-old Ruby on Rails codebase.

They delve into the critical importance of deeply understanding the codebase, keeping dependencies current, and adapting to the original application's evolving priorities and design choices.

The conversation spans a range of topics, including accessibility, testing, monitoring, and the challenges of deploying database migrations in production environments. The guests share effective strategies for sustaining and enhancing older codebases, such as employing automated tools, performing code audits, and adhering to clean coding principles.

Key topics discussed in this episode:

Grasping the legacy codebase and its historical context

Overcoming accessibility issues in older applications

Safe dependency management and upgrades

The effects of application scaling on database performance

The critical role of comprehensive test suites in legacy systems

Using tools like Sentry for error tracking and performance monitoring

The benefits of automated security and dependency scans

Juggling client needs with budget constraints

Local simulation techniques for large datasets

The value of iterative code reviews and maintaining clean code

Utilizing git history for contextual understanding

Onboarding strategies for legacy projects

Removing obsolete code and avoiding "magic numbers"

Importance of descriptive naming for better code clarity

Leveraging a rich repository of example code for learning and reference

Proactive code audits to anticipate issues

Managing pull request sizes for smoother reviews

Communicating effectively about upgrades and potential impacts

Strategies for handling large databases efficiently

Ensuring thorough test coverage

Keeping open lines of communication with clients regarding ongoing maintenance

Links mentioned:

COBOL programming language https://developer.ibm.com/languages/cobol/

Ruby on Rails https://rubyonrails.org/

ARIA Rules (Accessible Rich Internet Applications) https://www.w3.org/TR/using-aria/

Shawn Vo on Elixir as a Competitive Advantage https://smartlogic.io/podcast/elixir-wizards/s5e5-vo/

Bundler Audit Ruby Gem https://rubygems.org/gems/bundler-audit/

Sentry application monitoring and error tracking software  https://sentry.io/

Dependabot Github automated dependency updates

Mix hex.audit https://hexdocs.pm/hex/Mx.Tasks.Hex.Audit.html

Git Blame https://git-scm.com/docs/git-blame

Cow hoof trimming videos - The Hoof GP on YouTube (TW graphic imagery)

Special Guests: Anna Dorigo and Bilal Hankins.

Podden och tillhörande omslagsbild på den här sidan tillhör SmartLogic LLC. Innehållet i podden är skapat av SmartLogic LLC och inte av, eller tillsammans med, Poddtoppen.