Charles Simonyi(微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为\"匈牙利表示法\"以记念他。他的思想是根据每个标识符所代表的含 义给它一个前缀。微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型。因此,整型变量的前缀是n,长整型变量是nl,字符型数组变量是 ca,以及字符串(以空类型结尾的字符数组)以sz为前缀。
通过借鉴上述的思想,我在软件分层设计中将不同层次的类使用不同的前缀,这样,每一个类只要看一下它的名称,就知道它属于哪个层次。结合 namespace的使用(参见[1]),软件总体上显得非常清晰、简洁。比如,CSample是一般的命名习惯,而我有时命名为uiSample,这样 就可以很清楚的知道,它属于界面层中。
我习惯的类前缀定义:
层次名 前缀
UI Tier ui
UI Facade Tier uf
Application Tier ap
Model Tier md
Data Facade Tier df
Data Server Tier ds
Exception Tier ex
Foundation Tier fc