Is it a best practice to contrast table and dependent view metadata to target which views to refresh? We have non-indexed views created on vendor tables. When they change table structure or column definitions we run sp_refreshview as needed. What is the viability of a script to contrast the table column definitions with the view metadata to verify which views need to be refreshed? Is it a best practice to find only views that change or is it OK to refresh all views? Are there any concerns with running sp_refreshview if it's not needed?

Thanks again.
It would be much, much, much, much, much simpler to just run a loop applying sp_refreshsqlmodule for all views and procedures after you apply a vendor update. Don't make this harder than it needs to be.