Hacker News new | ask | show | jobs
by ghuntley 451 days ago
That's an interesting question, and I spend plenty of time exploring this at my current client. The best tip I can give you right now is really - it depends.

For example .NET/Java have this horrendous convention of splitting files into separate locations by the hundreds onto the filesystem.

ie. com/yada/repository | com/yada/models | com/yada/controllers | com/yada/services | com/yada/dtos et al

See https://www.youtube.com/watch?t=1507&v=J1-W9O3n7j8&feature=y... for an excellent discussion from folks sharing learnings that this is an anti-pattern for the current generation of AI assistants. By splitting the tests + everything related to the code being modified into separate files the LLM does worse.

Depending on the 'uniqueness' of the codebase and how it has been 'structured for humans' (vs being structured for LLMs - see above) then one will need to do some funky stuff with building custom MCP tools that teach the AI assistants how to work with the codebase...

2 comments

> manages things like naming conventions, APIs from other apps, etc.

These particular concerns can be handled via https://ghuntley.com/stdlib and it works very very well.

Ah yes, the famous “multiple source files” antipattern…

Could it be the LLM simply not up to the task of maintaining an enterprise codebase?

No, it is the hard-won lessons from the history of software engineering that are wrong.

It's not the LLM but the current generation of coding tools that need to be adjusted/tweaked to deal with em, yes.