Most textbooks (if not all of them) teach that the present perfect is used when there is a connection with the past and the present. This is only partly true. The present perfect is almost always used when a decision needs to be made by the listener or speaker about the future or how that past is to be considered. It is also used when they would like to say that something is relevant but not say it directly. It has to do with the main point being discussed. It is a kind of "code."
For example, If I ask a native speaker, "Have you been to China?" they will instinctively know that I want to discuss their past experiences and will answer with something more than "yes" or "no" (the answer to a simple past query.)
In your example, it is certainly possible to use the simple past, but the phrase "for the last four years." dictates the use of PP. There are other keywords used in PP constructions, "just, recently, lately, for, or since."
Your question actually uses present perfect twice in an unnatural way. You started by saying "I have read..." While not gramatically incorrect, it is not something a native speaker would say. "I read.." is best because the reading is not important and we are not going to discuss that. You also say "...has spent..." Again, not incorrect but we are not really talking about the man and his vacation, we are going to talk about the use of grammar in a sentence. You could say, "I've read in grammar books that..." The main point of your inquiry is about grammar, so that would be natural. Also, in one of your answers, you say, "In watching the key, I've seen...", again another unnatural use. It's better to say "I looked at the key and saw." You are narrating a past event so the SP is the best choice. (BTW, we use "look" for books, not "watch.") We often use the SP for narrating past events.
PP vs. SP is a hotly-debated subject because there are many instances in which SP and PP can be switched with almost no change in meaning. If you're looking for a good discussion of PP, look in Murphy's Grammar.
You asked for rules. Language certainly consists of rules, however PP is one of those areas where rules can only help so far. In many cases, the logic has to be explained. However, there are instances in which PP has to be used, for example 'I am playing piano since 1995," is incorrect because the word "since" is used with PP, "I have been playing piano since 1995."