Coding Triangle: How Does Large Language Model Understand Code?