Tiny one-function files; file-per-concern splits
Files and folders: one of the ways AI coding agents bloat software, from lessloc's pattern catalog. lessloc catches it as tiny-file and new-files.
What makes tiny one-function files and file-per-concern splits a bad practice?
The standard that calls it a bad practice: Ousterhout: Shallow Module.
What does lessloc do about tiny one-function files and file-per-concern splits?
lessloc catches it as tiny-file and new-files.
tiny-file(tier 2): A new code file under 10 code lines.new-files(tier 4): The change adds more thanmaxNewFilesnew code files.
Related patterns
The other patterns in Files and folders:
- Scratch, backup, copy and harness files: lessloc catches it as
junk-fileand refuses it before it lands. - Caches, build output and logs about to be committed: lessloc catches it as
junk-file. - CI workflows and Dockerfiles nobody asked for: lessloc catches it as
unrequested-file. - New folders for one or two files; layer trees for small apps: lessloc catches it as
new-folder. - Junk-drawer utils and helpers modules and folders: lessloc catches it as
junk-drawer. - Vague names (process_data, handle): lessloc catches it as
vague-name. - Moving or renaming files without a reason: lessloc catches it as
moved-files. - Secrets: a committed .env, API keys, private keys: lessloc catches it as
secret.

