多项选择题

A.代码设计发生在系统设计的总体设计环节
B.代码设计应该留有扩充的空间
C.在一个编码体系中,一个对象可以赋予多个代码
D.代码应该短小精悍