• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

华为软件编程规范和范例

发布: 2008-4-23 16:04 | 作者: 不详 | 来源: www.cppblog.com/oosky | 查看: 471次 | 进入软件测试论坛讨论

领测软件测试网


½5-3 :结构的功能要单一,是针对一种事务的抽象 
说明:设计结构时应力争使结构代表一种现实事务的抽象,而不是同时代表多种。结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中。 
示例:如下结构不太清晰、合理。 
typedef struct STUDENT_STRU
{
    unsigned char name[8]; /* student’s name */
    unsigned char age;     /* student’s age */
    unsigned char sex;     /* student’s sex, as follows */
                           /* 0 - FEMALE; 1 - MALE */
    unsigned char 
           teacher_name[8]; /* the student teacher’s name */
    unisgned char 
           teacher_sex;     /* his teacher sex */
} STUDENT;
若改为如下,可能更合理些。 
typedef struct TEACHER_STRU
{
    unsigned char name[8]; /* teacher name */
    unisgned char sex;     /* teacher sex, as follows */
                           /* 0 - FEMALE; 1 - MALE */
} TEACHER;
typedef struct STUDENT_STRU
{
    unsigned char name[8];     /* student’s name */
    unsigned char age;         /* student’s age */
    unsigned char sex;         /* student’s sex, as follows */
                               /* 0 - FEMALE; 1 - MALE */
    unsigned int  teacher_ind; /* his teacher index */
} STUDENT;
½5-4 :不要设计面面俱到、非常灵活的数据结构 
说明:面面俱到、灵活的数据结构反而容易引起误解和操作困难。 
½5-5 :不同结构间的关系不要过于复杂 
说明:若两个结构间关系较复杂、密切,那么应合为一个结构。 
示例:如下两个结构的构造不合理。 
typedef struct PERSON_ONE_STRU
{
    unsigned char name[8];
    unsigned char addr[40];
    unsigned char sex;
    unsigned char city[15];
} PERSON_ONE;
typedef struct PERSON_TWO_STRU
{
    unsigned char name[8];
    unsigned char age;
    unsigned char tel;
} PERSON_TWO;
由于两个结构都是描述同一事物的,那么不如合成一个结构。 
typedef struct PERSON_STRU
{
    unsigned char name[8];
    unsigned char age;
    unsigned char sex;
    unsigned char addr[40];
    unsigned char city[15];
    unsigned char tel;
} PERSON;
½5-6 :结构中元素的个数应适中。若结构中元素个数过多可考虑依据某种原则把元素组成不同的子结构,以减少原结构中元素的个数 
说明:增加结构的可理解性、可操作性和可维护性。 
示例:假如认为如上的_PERSON结构元素过多,那么可如下对之划分。
typedef struct PERSON_BASE_INFO_STRU
{
    unsigned char name[8];
    unsigned char age;
    unsigned char sex;
} PERSON_BASE_INFO;
typedef struct PERSON_ADDRESS_STRU
{
    unsigned char addr[40];
    unsigned char city[15];
    unsigned char tel;
} PERSON_ADDRESS;
typedef struct PERSON_STRU
{
    PERSON_BASE_INFO person_base;
    PERSON_ADDRESS person_addr;
} PERSON;

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网