Lessons from a 10+ Year Legacy Software Codebase | S12E06 Elixir Wizards Podcast by SmartLogic

  Рет қаралды 125

SmartLogic

SmartLogic

25 күн бұрын

Software Engineering | Legacy App | Ruby on Rails
In Office Hours Episode 6, SmartLogic Developers Anna Dorigo and Bilal Hankins join Elixir Wizards Sundi Myint and Dan Ivovich 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.
00:11 Introductions and guest background info
02:51 What is 'legacy code'? / challenges of mature app maintenance
03:23 Adapting legacy applications for modern demands
08:55 Balancing dependency upgrades without breakage
11:16 How to educate clients on system maintenance
13:17 Considerations for scheduling maintenance windows
14:30 Deploying database migrations at scale
16:45 Simulating large datasets for development
18:56 How testing guides legacy codebase updates
21:00 Adapting test suites for shifting priorities
22:16 Ripple effect of feature changes in legacy apps
24:03 Automation for security monitoring
26:17 Design and architecture solutions
27:42 Leveraging code reviews and feedback
29:52 Git-blame -- uncovering historical context
33:10 Legacy code and code audits as learning material
35:00 Clean code: leave it better than you found it
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 developer.ibm.com/languages/c...
Ruby on Rails rubyonrails.org/
ARIA Rules (Accessible Rich Internet Applications) www.w3.org/TR/using-aria/
Shawn Vo on Elixir as a Competitive Advantage smartlogic.io/podcast/elixir-...
Bundler Audit Ruby Gem rubygems.org/gems/bundler-audit/
Sentry application monitoring and error tracking software sentry.io/
Dependabot Github automated dependency updates
Mix hex.audit hexdocs.pm/hex/Mx.Tasks.Hex.A...
Git Blame git-scm.com/docs/git-blame
Cow hoof trimming videos - The Hoof GP on KZbin (TW graphic imagery)

Пікірлер
How good is the latest version of ChatGPT? | BBC News
23:16
BBC News
Рет қаралды 109 М.
Mini Jelly Cake 🎂
00:50
Mr. Clabik
Рет қаралды 18 МЛН
Зу-зу Күлпәш. Стоп. (1-бөлім)
52:33
ASTANATV Movie
Рет қаралды 1 МЛН
Каха с волосами
01:00
К-Media
Рет қаралды 6 МЛН
AGI Breaks the Team at OpenAI: Full Story Exposed
27:01
AI Search
Рет қаралды 21 М.
the new PS4 jailbreak is sort of hilarious
12:21
Low Level Learning
Рет қаралды 178 М.
Stop Calling Your API a "REST API"
17:42
Amichai Mantinband
Рет қаралды 11 М.
GraphRAG: Knowledge Graphs for AI Applications with Kirk Marple - 681
46:53
The TWIML AI Podcast with Sam Charrington
Рет қаралды 1,7 М.
Can AI help me deploy to Kubernetes?
1:03:42
Julie Ng
Рет қаралды 804
"DevOps: From Code to Cloud" with Dan Ivovich
43:44
SmartLogic
Рет қаралды 20
Designing scalable Compose APIs
19:53
Android Developers
Рет қаралды 5 М.
APPLE УБИЛА ЕГО - iMac 27 5K
19:34
ЗЕ МАККЕРС
Рет қаралды 99 М.
Samsung vs Apple Vision Pro🤯
0:31
FilmBytes
Рет қаралды 477 М.
Carregando telefone com carregador cortado
1:01
Andcarli
Рет қаралды 1 МЛН
Эволюция телефонов!
0:30
ТРЕНДИ ШОРТС
Рет қаралды 5 МЛН
How Neuralink Works 🧠
0:28
Zack D. Films
Рет қаралды 29 МЛН
Распаковка айфона в воде😱 #shorts
0:25
Mevaza
Рет қаралды 1,5 МЛН