I have also taken to a few setup scripts that ensure tooling is installed, and checks out the repos in their respective directories.
Why?
Cons: It's a global namespace and easily cluttered, and the clutter is visible as the default background of your display.
It's like "saving things" on my physical desk - a bad habit I tell myself not to do, but still find myself doing. (chucks a few things that have been on my desk).
But on a physical desk I don't have options to sort, search etc. I do on the mac. I use the desktop as place for non-critical files everytime (like a screenshot that I have to attach to an email, or to export a image without background that I am going to use on a ppt). Basically just as a temp folder.
It is absolutly cluttered, but the ability to drop a temporary file there without thinking of structure or what it relates to trumps the clutter it creates.
Besides, with the addition of Stacks (https://support.apple.com/en-in/HT209101) it makes everything more manageable.
* Don't save files on the desktop.
* Create a Projects or Dev folder in your home directory and make a folder for each project. (For Web development, I use Laravel Valet which automatically makes a foldername.test vhost inside ~/Dev.)
* My Downloads folder is very messy. I could probably set up a job to delete files older than 6 months, but I have plenty of space, so no need (yet).