• 大型程序编写


    编程规范

    命名规范

    类型 规范 例子
    常量名 全大写,单词用下划线连接 例如:PI,MAX_COUNT
    变量名 小驼峰命名法,指针用p开头 Stack *pStack
    成员函数 小驼峰
    非成员函数 大驼峰
    带参数的宏 同函数

    匈牙利命名法

    前缀 含义
    a 数组
    b 布尔类型
    by 字节
    c 有符号字符(char)
    cb 无符号字符(char byte)
    cr 颜色参考值
    cx,cy 坐标差
    dw double word
    fn 函数
    i int
    l 长整型
    p 指针
    s 字符串

    函数注释

    /*函数功能
    *输入参数注释
    *输出参数注释
    *返回值注释
    *
    *使用此函数的注意事项
    *
    *
    */
    

    对齐和缩进

    不超出页面

    源程序的格式

    文件包含    include
    常量定义    define
    类型定义    typedef
    全局变量
    函数声明
    函数实现
    主函数
    

    结构化设计

    结构化设计将大任务分解为小任务,大程序分解为小模块

    1. 软件体系结构化
    2. 函数模块结构化
    3. 控制流程结构化

    函数的结构化

    函数结构化遵守高内聚和松耦合原则。
    高内聚指一个函数只做一件事,函数内部没有多余的东西。
    松耦合指函数与其它函数及外部变量具有低耦合度。

    多文件程序

    必须有且仅有一个源文件里有主函数。
    多个源文件的函数

    1. 使代码结构清晰
    2. 便于代码复用
    3. 便于分工合作
    4. 每个源文件可以单独编译,节省编译时间

    头文件内容

    1. 常量定义
    2. 类型定义
    3. 全局变量(慎用)
    4. 函数原型
    5. 详细的注释

    构建多文件程序

    编译:将源文件编译产生目标文件.o
    链接:形成可执行文件
    Makefile

  • 相关阅读:
    有趣的F-String
    停止使用非版本控制的可执行代码
    Django ORM中,如何使用Count来关联对象的子集数量
    Django Tastypie: 贴士,技巧和故障排除
    我实在不懂Python的Asyncio
    使用Let's Encrypt为网站加入SSL证书
    [debug]记一次竞态更新bug的解决
    我的web聊天之---序章
    我的音乐盒子(nodejs7 + koa2 + vue + vuex + vue-router)
    装饰器 生成器 进阶
  • 原文地址:https://www.cnblogs.com/lizinuo/p/15637346.html
Copyright © 2020-2023  润新知