If you have a lot of hosts listed in your ~/.ssh/config file, you can keep the file from getting too cluttered by using the Include directive, which supports wildcards...
# in ~/.ssh/config
Include config.d/*.conf
# in ~/.ssh/config.d/work.conf
host work
hostname myoffice.example.com
user myuser
# in ~/.ssh/config.d/client1.conf
host client1.dev
hostname dev.client.example.net
user someuser
host client1.prod
hostname prod.client.example.net
user someuser
There an additional trick - you can put include inside a Host/Match directive.
# in ~/.ssh/config
Host proj1.*.corp
Include ~/.ssh/proj1.conf
# in ~/.ssh/proj1.conf
...
This way, I can put project-specific matches at or near the top, while being sure I don't have to wade through numerous of individual files during review.