Remix.run Logo
NichoPaolucci an hour ago

I don’t know. LOC to me is indispensable for certain refactoring goals in my opinion.

Taking a component and turning it from 7K lines to 3K lines and maintaining functionality obviously means there’s less complexity introduced, less to go wrong now, and less overhead to modify in the future.

Sure it can go the other way, the component needs to support something it might need, we need to adjust larger patterns, this function needs to be refactored into something more robust.

But lines of code is a pretty decent metric of success for “trimming down and cleaning up” style refactoring, to me at least. It’s not everything of course, but it’s definitely an indicator.

Shish2k 36 minutes ago | parent | next [-]

A couple of days ago I split a single class which did 5 barely-connected things, where each of the 5 entry points had another 5-10 private helper methods (none of which were shared between entry points), into 5 separate classes which each do one thing - total number of lines went up (because they all have the same boilerplate import statements at the top), but being able to focus on one entry point and it's helpers at a time has made things much easier to work with

Catloafdev 38 minutes ago | parent | prev | next [-]

That's LOC in a single file, that's a bit different from total LOC as a metric.

Total LOC is a garbage metric. Things like reducing line count in specific files or components is a big benefit, but those lines are often moved, not dropped.

j45 an hour ago | parent | prev [-]

LOC can be one measure, but not always the sole or best ones.

Since LLMs are word generators, and have a propensity to generating words, they need to be shaped to understand simplest is best, more isn't more, and less isn't more always.

Trimming down and cleaning up could be formatting, standardization, commenting, or even some basic re-architecting that was overdue.

One of the biggest benefits of llms for refactoring I'm finding is reducing technical debt.