
Ask HN: How to improve the DX for a legacy rails app? - aurelius83
I recently started working on a new team that mostly maintains a legacy rails app.  What are some ways to improve the developer experience?
======
afarrell
One reasonably high-effort way is to make it more modular and testable by
splitting things out into middlewares with Coach:

[https://gocardless.com/blog/getting-started-with-
coach/](https://gocardless.com/blog/getting-started-with-coach/)

I’ve worked in this team’s codebase and can confirm it has a rather nice DX,
even as a new joiner with a python background.

——

Who are the people who want to improve the developer experience?

------
sergiotapia
RubyMine to keep your sanity - in large codebases rails is terrible with
ambiguity. You don't know what a variable is, if it's a function, a method in
the class, a helper imported, what.

Then leverage the test suite to understand what something is supposed to do,
naming conventions only take you so far especially if the team wasn't really
disciplined about it.

------
smt88
I've found that great, modern IDEs (like those made by JetBrains for various
languages) have vastly better support for static analysis and, therefore,
refactoring.

What IDE are you using?

Other than that, running integration tests from outside that code base can at
least help you catch errors early.

------
andrei_says_
Maybe watch some Sandi Metz talks together as well as Ben Orenstein’s
refactoring talk and then see if you can align around some practices that you
think could make your lives easier.

Code styleguide is another possible direction.

