Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That code has many issues, but the one that bothers me the most in practice is this tendency of adding imports inside functions. I can only assume that it's an artifact of them optimizing for a minimal number of edits somewhere in the process, but I expect better.


It's to make imports lazy, to solve the issue of slow import at startup.


While there are some cases where lazy imports are appropriate, this function, and the vast majority of such lazy imports that I get from Claude are not.

In particular, I can't think of any non-pathological situation where a python developer should import logging and update logging.basicConfig within an inner function.


It's also a trick in python to deal with circular imports.


I also recently ran into a problem when unit testing and monkey patching where I had to import after monkey patching, so in the function itself.


I think this has a lot to do with the mechanism of RoPE attention, where physical closeness in the code is a signal of relevance.


In very, very large projects, you end up finding that you want lazy initialization as much as possible, because it greatly affects startup times.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: