Mandatory to use "Three Parts Name" in T-SQL statements of SP
Using three-part names in queries that reference objects in the current database is a terrible practice and you should create a rule against it.  The most frequent problem with it is that it prevents you from having two instances of your application database on a single server, and can lead to unintentional cross-database access.
Using two-part names in dynamic SQL has some, slight, performance benefit as the object name resolution doen't have to check the user's default schema and then the dbo schema.  But in a view or stored procedure is not as helpful as object name resolution uses the object's schema.  And in the paradigm case of a proc/view in dbo referencing a table in dbo it doesn't help at all.