I've found that luck is quite predictable. If you want more luck, take more chances. Be more active. Show up more often.
Disclaimer: I am not a OOP guru, just software developer. Use your good judgement.
The purpose of this post is to collect a list of principles about OOP with references and materials to better understand each topic.