public synonyms- when it is good/bad practice
When would you say that public synonyms that (reference tables) are a good things, recommended things?
I understand that mostly public synonyms are like triggers that should be avoided. Because they create possibility of confusion that one is not sure what is he referencing, if there is in two schemas table with same name, and code is written without schema prefix to reference those tables.
I understand that if lot of code have written without schema prefix and now a table is planned to move to other schema, then it is perhaps good to create the public synonym so that code that was referencing without schema prefix a table can work successfully still.
Can you explain generally when you would use public synonyms, in which situations?