SOLID Principles: Do You Really Understand Them?