I ran into an issue recently where a table was changed (in beta) and subsequently a view that relied on it was rendered unusable. The idea for this script stemmed from that - to create a script to quickly identify and refresh any view that depends on a changed table. There's room to grow as I realize this isn't a deep dive nor does it cover things like nested views, table functions, etc. but it's a good first pass CYA and I'd welcome any comments or suggestions.
Full disclosure: the dev who made the initial table change also made a note in our problem tracking system that the view should be dropped but failed to include a script to do so. That problem as also been mitigated.