It's when I review past me's code, that I remember I should comment my code more often. As mentioned above, my preferred approach (when I remember) is to write out what the script does as pseudocode comments. Then I start writing the actual code around it. My top tips: Be consistent in all things as it makes it easier to follow Refactor older code if you have to Use variables that make sense $object is bad, $AD_User is better Use of Hungarian notation is typically avoided $strThing, $intCound, etc. It gets kind of hard after a while when everything becomes $objThis, $objThat Use consistent casing snake_case vs Title_Case vs camel_Case, etc. Have a look at PS Script Analyzer and take it's recommendations with a pinch of salt I'd have a look at the Practice and Style guide (it most likely covers the above) but work blocks GitHub.