I'm currently working on a sizable PowerShell script that includes multiple functions, logging, error handling, and various execution paths based on input. While it's working, I find the structure quite fragile—one more feature and it could easily become unmanageable. I'm looking for advice on how to maintain a clean structure as scripts grow. Do people tend to split everything into modules early on, or do you keep it all in one script until it becomes overwhelming? How strict do you get with aspects like function scope, parameter validation, and custom objects? I'm interested in real-world patterns that can handle the chaos that comes with ongoing changes, not just generic advice like 'use a module.'
1 Answer
You might consider dot sourcing functions from a separate file or organizing them into a module. This keeps your main script lean and tidy. If you go the dot sourcing route, remember to use a format like this to maintain variable access: `. .otherscript.ps1`. I've been doing this for a while, and it's a lifesaver, especially for larger scripts.

Fair point! I’ve typically used `Import-Module` for my functions instead of dot sourcing. I’m curious if one approach has advantages over the other. Anyone can share their thoughts?