I've been building an 'extract function' refactor feature. It's surprisingly nuanced.
Where do you put the extracted function? Once you've done the static analysis, what order do you use for the parameters?
miniblog.
Related Posts
LLMs are surprisingly good at reducing crash samples.
I've had success with "this project crashes my static analysis tool with the following command, try to shrink the repro whilst preserving the crash. Commit each smaller version to a branch".
Date of birth pickers are a surprisingly nuanced UI problem.
What do you pick as the initial value? How do you allow users to easily move by large amounts (years) as well as small amounts (the exact day)?
Defaulting to today and even allowing future dates is funny though.
LLMs are great at style transfer, and this works surprisingly well for syntactic transformations too.
I rewrote a small website's EJS templates to 1500 LOC of TSX with a oneshot in Claude. It took ~12 minutes, but it just worked.
(TSX seems nicer than EJS for static analysis.)
