程序设计规范
2024版建筑设计程序规范基本要求

初步设计
深化方案构思,进行平面布局、 立面造型、剖面设计等。
后期服务
配合施工单位进行技术交底、 解决施工过程中的问题、参与 竣工验收等。
实例:住宅楼设计流程
需求分析
了解住户需求、生活习惯、文化背景等,确定设 计风格和空间布局。
场地分析
分析场地条件,包括地形地貌、气候条件、周边 环境等,为设计提供依据。
03
建立数字化建筑信息模型,方便施工方和业主理解 设计意图和要求。
加强与施工方沟通协作
01 在设计阶段与施工方保持密切沟通,及时了解施 工方的需求和建议。
02 针对施工方的反馈,对设计方案进行及时调整和 优化。
03 在设计交底和施工过程中,加强与施工方的协作 和配合,确保设计意图的准确传达和实现。
考虑全生命周期成本
建筑设计应考虑建筑物的全生命周期成本,包括建设、运营、维护、 拆除等阶段的费用支出,实现全过程的成本控制。
04
建筑设计流程与实例分析
设计流程梳理
方案构思
根据设计任务书和相关规范, 进行方案构思和初步设计。
施工图设计
根据初步设计成果,进行详细 设计和施工图绘制。
前期准备
明确设计任务、收集相关资料、 进行现场踏勘等。
施工图设计阶段
施工图设计文件编制
根据初步设计成果,编制施工图设计 文件,包括建筑施工图、结构施工图、 设备施工图等。
细节设计
施工图审查
对施工图设计文件进行审查,确保符 合相关法规和规范要求,满足施工需 要。
对建筑细部进行深入设计,包括节点 构造、材料选用、施工工艺等。
02
建筑设计规范解析
建筑法规及标准
协调环境景观
建筑设计应与周围环境相协调,与城市规划、景观设计等相互配 合,形成优美的城市景观。
微信小程序设计规范

小程序设计规范小程序设计规范本文档旨在为开发人员提供小程序设计规范的参考。
以下是详细的章节内容:1:概述1.1 小程序概述1.2 设计目标1.3 开发环境要求2:页面设计规范2.1 页面结构2.2 导航栏设计2.3 内容排版2.4 颜色与主题2.5 图片与图标使用2.6 动画与过渡效果3:组件设计规范3.1 基础组件3.1.1 视图容器3.1.2 按钮3.1.3 输入框3.1.4 列表3.1.5 图片3.2 自定义组件3.2.1 定义与使用3.2.2 组件生命周期 3.2.3 组件通信与逻辑4:数据绑定与更新4.1 单向数据绑定4.2 双向数据绑定4.3 数据更新与渲染5:路由与导航5.1 页面跳转与传参5.2 导航栏切换与定制5.3 返回与历史记录6:接口交互与网络请求6.1 小程序接口6.2 第三方接口6.3 网络请求与异步操作 6.4 数据缓存与持久化7:安全与权限管理7.1 小程序权限7.2 前端数据传输与加密 7.3 用户身份验证与授权8:性能优化8.1 插件与组件管理8.2 数据请求与缓存8.3 页面渲染与加载8.4 代码压缩与分包加载9:调试与错误处理9.1 调试工具与技巧9.2 错误日志与异常处理10:国际化与本地化10:1 多语言支持10:2 地域格式与时区附件:1:示例代码2:页面设计图法律名词及注释:1:小程序:指平台上开发的基于用户体系的轻量级应用程序,具有独立的页面结构和功能。
2:接口:指小程序与外部系统进行通信的接口,可用于数据获取、身份认证等功能。
3:数据缓存:指将数据存储在小程序本地,以提高数据访问速度和用户体验的技术。
4:插件:指增强小程序功能的外部组件或工具。
PLC程序设计规范

PLC程序设计规范一、程序命名规范:1.确保每个程序有一个明确的、描述性强的名称,可以清晰地表达程序的功能。
2.使用驼峰命名法命名程序,每个单词的首字母大写,不使用下划线或空格。
3.避免使用过于冗长或复杂的程序名称。
二、程序结构规范:1.确保程序的逻辑清晰且易于理解。
使用模块化设计方法,将程序分解为多个子程序,每个子程序负责一个特定的功能。
2.使用注释来解释程序的逻辑和功能。
确保注释详细而清晰,可以帮助其他人理解和修改程序。
3.避免在程序中使用硬编码的常数。
使用变量或常量块来存储常用的数值,以便于修改和维护。
三、变量命名规范:1.确保每个变量都有一个明确的、描述性强的名称,可以清晰地表达变量的含义和用途。
2.使用驼峰命名法命名变量,避免使用过于简单的单词或缩写。
3.根据变量的用途选择合适的数据类型,避免使用过于通用的数据类型。
四、注释规范:1.在程序的开头添加详细的注释,描述程序的功能和设计思路。
2.在每个程序块的开头添加注释,解释该程序块的功能和实现方法。
3.在每个程序块的关键位置添加注释,解释该位置的逻辑或计算过程。
五、错误处理规范:1.在程序中对可能出现的错误进行处理,并提供合适的错误提示和报警。
2.使用异常处理机制来处理意外错误或异常情况,确保程序可以恢复到安全状态。
3.记录错误日志,包括错误发生的时间、位置和原因,以便于诊断和修复错误。
六、程序测试规范:1.在编写程序之前,制定测试计划,并对程序进行全面的功能和性能测试。
2.对程序进行边界条件测试,确保程序在各种情况下都能正确处理输入。
3.针对复杂的程序逻辑或数据处理过程,编写单元测试来检查程序的正确性。
七、文档规范:1.在程序的开发过程中,编写详细的文档,包括程序的需求规格、设计文档和用户手册。
2.在文档中说明程序的各个模块的功能和接口,以及模块之间的关系。
3.更新文档来反映程序的变化和重要的修订。
八、安全规范:1.遵循相关的安全标准和法规,设计和编写程序时考虑到工作环境的安全要求。
微信小程序设计规范(二)

引言概述小程序作为一种小型应用程序,具有快速开发、高用户粘度、跨平台等优势,因此在移动应用开发领域广受欢迎。
为了使小程序能够正常运行、良好的用户体验,设计规范起着至关重要的作用。
本文将深入探讨小程序设计规范,为开发者提供详细的指导和建议。
正文内容一、页面设计规范1.网格系统设计使用明确的网格系统布局,确保页面排版整齐有序。
遵循一致的网格间距和元素大小规则,保证页面风格统一。
考虑不同屏幕尺寸下的适配性,确保元素在各种设备上显示正常。
2.色彩搭配制定明确的色彩搭配规则,避免使用过多颜色,以免造成视觉混乱。
选用明亮且饱和度适中的颜色,使用户感觉舒适。
注意色彩对比度,确保文字和背景能够清晰地展现。
3.图标和按钮设计使用简洁明了的图标和按钮设计,使用户能够直观地理解其功能。
避免使用过多图标和按钮,以免页面过于复杂。
考虑到触摸屏的操作特性,确保图标和按钮的大小适中,并且能够容易。
4.图片和多媒体素材使用高清晰度的图片和多媒体素材,确保内容展示的质量。
选择合适的图片格式和压缩算法,以减少加载时间。
注意版权问题,尽量使用合法的图片和多媒体素材。
5.导航和布局统一导航和布局风格,确保用户在不同页面之间能够快速切换。
遵循常用的导航和布局模式,不要过于创新,以免造成用户迷惑。
考虑页面的深度和层次结构,合理安排导航和布局的层级关系。
二、交互设计规范1.页面加载速度优化代码和资源加载顺序,尽量减少页面加载时间。
前端缓存技术的应用,使得页面加载更加快速。
考虑网络环境差的情况下,合理处理页面加载的过程。
2.用户引导和反馈提供清晰明了的用户引导,告诉用户如何操作和使用小程序。
给予用户及时的反馈,例如加载进度条、按钮效果等。
合理利用交互动画和过渡效果,增加用户体验的乐趣。
3.用户输入和表单设计简化用户输入,减少输入步骤和复杂性。
提供明确的表单验证提示,帮助用户正确填写信息。
考虑不同设备屏幕的尺寸,避免输入框过小或过大。
4.页面导航和跳转提供明确的页面导航和跳转功能,帮助用户快速切换页面。
单片机程序设计编程规范

单片机程序设计编程规范1. 概述本文将介绍单片机程序设计编程过程中应遵循的一些规范。
这些规范旨在提高程序的可读性、可维护性和可重用性,帮助开发人员编写出高质量的单片机程序。
2. 代码布局2.1 源文件结构每个源文件应包含程序的一个完整模块。
源文件以 `.c` 扩展名结尾。
源文件应包含适当的注释,以说明文件的目的和模块。
2.2 函数布局每个函数应尽可能短小,只完成一项具体的功能。
函数应使用有意义的名称,具有描述性。
函数应尽量避免超过 30 行的代码,如果超过应考虑是否需要进行函数分割。
3. 变量命名规范3.1 命名风格变量名应使用小写字母和下划线的组合,如 `my_variable`。
常量应使用全大写字母和下划线的组合,如 `MY_CONSTANT`。
3.2 变量名长度变量名应该具有描述性,尽量避免使用过于简单或过于复杂的变量名。
变量名长度应控制在 20 个字符以内,以保证可读性。
4. 注释规范4.1 文件注释每个源文件应包含文件注释,用于说明文件的目的和模块。
4.2 函数注释每个函数应包含函数注释,用于说明函数的功能、参数和返回值。
4.3 行内注释行内注释应用于解释代码的特定部分,帮助阅读者理解代码的意图。
5. 常量定义规范常量定义应尽量避免使用魔术数,应该使用有意义的常量名来代替。
6. 编码风格使用正确的缩进和对齐方式,以提高代码的可读性。
使用适当的空格来增强代码的可读性,但避免过多的空格导致代码冗长。
使用适当的命名风格和约定,以提高代码的可读性。
7. 错误处理每个函数应该有清晰的错误处理机制,包括返回值、错误码和异常处理等。
错误消息应清晰、明确,并有助于定位错误。
8. 代码复用尽量避免重复的代码,使用函数和模块的方式来实现代码复用。
开发人员应鼓励制定和使用通用的接口、库和模块,以提高代码复用性。
9. 版本管理定期对代码进行版本管理,并使用版本控制工具来管理代码的修改和更新。
10.本文介绍了单片机程序设计编程规范的一些基本原则。
单片机程序设计规范与技巧-无删减范文

单片机程序设计规范与技巧单片机程序设计规范与技巧在单片机程序设计中,遵循一定的规范和技巧是非常重要的。
本文将介绍一些常用的单片机程序设计规范和技巧,帮助开发者编写更高质量的单片机程序。
1. 命名规范在单片机程序设计中,良好的命名规范可以增加程序的可读性和可维护性。
以下是一些常用的命名规范:- 变量和函数名应该具有描述性,能够清晰表达其用途和含义。
- 使用驼峰命名法或下划线命名法来命名变量和函数。
例如:变量名为`sensorValue`或`sensor_value`。
- 避免使用单个字母作为变量名,除非在循环中临时使用。
- 定义常量时,使用全大写和下划线命名法。
例如:`MAX_VALUE`。
- 对于函数和变量名,尽量使用英文单词,避免使用拼音或缩写。
2. 注释规范良好的注释可以提高程序的可读性和可理解性,尤其是在协作开发和日后维护时。
以下是一些注释规范的建议:- 在每个函数的开头,用简要的注释描述函数的作用和功能。
- 对于复杂的算法或逻辑,使用注释解释其工作原理和关键步骤。
- 在关键的代码段前后使用注释,解释该代码段的用途和实现思路。
- 避免注释和代码不一致的情况,及时更新注释以保持准确性。
3. 代码风格一致的代码风格可以提高代码的可读性和可维护性。
以下是一些常用的代码风格规范:- 使用适当的缩进,通常为四个空格或一个制表符。
- 用大括号`{}`明确代码块的范围,即使代码块只有一行。
- 避免使用过长的函数和过多嵌套的条件语句,尽量保持代码简洁。
- 在操作符两侧和逗号后面添加空格,可以提高代码的可读性。
- 每行代码不要过长,通常不超过80个字符,方便阅读和维护。
4. 输入输出处理在单片机程序设计中,输入输出的处理常常是一个重要的部分。
以下是一些处理输入输出的技巧:- 对于外部输入,如传感器数据或用户输入,应进行有效性检查和错误处理。
- 避免在循环中进行较耗时的输出操作,以免影响程序的实时性。
- 利用缓冲区来缓存输入和输出数据,以提高效率。
单片机程序设计规范与技巧

单片机程序设计规范与技巧单片机程序设计规范与技巧1. 引言2. 命名规范在单片机程序设计中,命名规范对于代码的可读性和可维护性非常重要。
以下是一些命名规范的建议:变量和函数名应使用有意义的英文单词或缩写,尽量避免使用无意义的字母和数字组合。
变量和函数名应使用小驼峰命名法,即第一个单词的首字母小写,后面的每个单词的首字母大写。
宏定义的命名应全部使用大写字母,并使用下划线分隔单词。
文件名应使用有意义的英文单词或缩写,并以`.c`或`.h`作为后缀。
3. 注释规范良好的注释可以提高代码的可读性和可维护性。
以下是一些注释规范的建议:在函数和模块的开头,应添加对功能和用法的简要注释。
在各个关键代码段之后,应添加注释说明其用途和实现方法。
注释应使用简洁明了的语言,避免冗余和复杂的描述。
注释应和代码对齐,方便阅读和理解。
4. 代码结构规范良好的代码结构有助于提高代码的可读性和可维护性。
以下是一些代码结构规范的建议:将代码分成多个函数或模块,每个函数或模块只负责一个特定的功能。
函数或模块的名称应准确地描述其功能,并尽量简洁明了。
将相关的变量和函数放在一起,方便查找和修改。
合理使用缩进和空行,增加代码的可读性。
5. 错误处理规范在单片机程序设计中,错误处理是十分重要的。
以下是一些错误处理规范的建议:对于可能发生错误的操作,应进行错误检测和处理。
使用返回值或错误码来表示操作是否成功,避免直接使用错误信息字符串。
在发生错误时,应及时给出错误提示或进行适当的补救措施。
在发生严重错误时,可以考虑进行重启或其他紧急处理。
6. 调试技巧调试是单片机程序开发过程中必不可少的一环。
以下是一些调试技巧的建议:使用调试工具和调试器进行代码调试,并利用断点和单步执行功能进行逐步跟踪。
在代码中插入调试输出语句,打印中间结果和调试信息。
使用LED等外部设备来进行调试,观察和验证程序的运行状态。
7.以上是关于单片机程序设计规范与技巧的内容,希望对您有所启发和帮助。
程序界面设计规则与规范(超详细)

一份界面规范(c/s),和大家共享(摘录)Posted on 2006-07-04 09:33 东人EP阅读(158) 评论(0)编辑收藏引用所属分类: .NET在参考了很多资料后,整理出来的一份界面规范(是c/s程序的,但其中的原则部分对任何界面都是具有参考价值的),希望能给大家带来帮助。
其中的图片没有贴上来,因为文字已经足够描述清楚了。
-------------------------------------1. 界面规范1.1. 总体原则l 以用户为中心。
设计由用户控制的界面,而不是界面控制用户。
l 清楚一致的设计。
所有界面的风格保持一致,所有具有相同含义的术语保持一致,且易于理解l 拥有良好的直觉特征。
以用户所熟悉的现实世界事务的抽象来给用户暗示和隐喻,来帮助用户能迅速学会软件的使用。
l 较快的响应速度。
l 简单且美观。
1.2. 原则详述1.2.1. 用户控制用户界面设计的一个重要原则是用户应该总是感觉在控制软件而不是感觉被软件所控制。
l 操作上假设是用户--而不是计算机或软件--开始动作。
用户扮演主动角色,而不是扮演被动角色。
在需要自动执行任务时,要以允许用户进行选择或控制它的方式来实现该自动任务。
l 提供用户自定义设置。
因为用户的技能和喜好各不相同,因此他们必须能够个性化界面的某些方面。
Windows为用户提供了对许多这方面的访问。
您的软件应该反应不同的系统属性--例如颜色、字体或其他选项的用户设置。
l 采取交互式和易于感应的窗口,尽量避免使用模态对话框,而使用"非模式"辅助窗口。
"模式"是一种状态,它排除一般的交互,或者限制用户只能进行特定的交互。
当最好使用一个模式或该模式只是可替换的设计时--例如,用于在一个绘图程序中选定一个特定感觉--请确保该模式是显然的、可见的,是一个明确的用户选定的结果,并且容易取消。
l 在后台运行长进程时,保持前台式交互。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计规范一、程序风格:1、严格采用阶梯层次组织程序代码:各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。
要求相匹配的大括号在同一列,对继行则要求再缩进4格。
例如:2、提示信息字符串的位置在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源中。
3、对变量的定义,尽量位于函数的开始位置。
二、命名规则:1、变量名的命名规则①、变量的命名规则要求用“匈牙利法则”。
即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。
即:变量名=变量类型+变量的英文意思(或缩写)对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。
见下表:bool(BOOL) 用b开头bIsParentbyte(BYTE) 用by开头byFlagshort(int) 用n开头nStepCountlong(LONG) 用l开头lSumchar(CHAR) 用c开头cCountfloat(FLOAT) 用f开头fAvgdouble(DOUBLE) 用d开头dDetavoid(VOID) 用v开头vVariantunsigned int(WORD)用w开头wCountunsigned long(DWORD) 用dw开头dwBroadHANDLE(HINSTANCE)用h开头hHandleDWORD 用dw开头dwWordLPCSTR(LPCTSTR) 用str开头strString用0结尾的字符串用sz开头szFileName对未给出的变量类型要求提出并给出命名建议给技术委员会。
②、指针变量命名的基本原则为:对一重指针变量的基本原则为:“p”+变量类型前缀+命名如一个float*型应该表示为pfStat对多重指针变量的基本规则为:二重指针:“pp”+变量类型前缀+命名三重指针:“ppp”+变量类型前缀+命名......③、全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount,即:变量名=g_+变量类型+变量的英文意思(或缩写)④、静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst,即:变量名=s_+变量类型+变量的英文意思(或缩写)⑤、成员变量用m_开头,如一个长型成员变量定义为m_lCount;即:变量名=m_+变量类型+变量的英文意思(或缩写)⑥、对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。
并且要求用大写。
如:enum cmEMDAYS{EMDAYS_MONDAY;EMDAYS_TUESDAY;……};⑦、对struct、union、class变量的命名要求定义的类型用大写。
并要加上前缀,其内部变量的命名规则与变量命名规则一致。
结构一般用S开头如:struct ScmNPoint{int nX;//点的X位置int nY; //点的Y位置};联合体一般用U开头如: union UcmLPoint{long lX;long lY;}类一般用C开头如:class CcmFPoint{public:float fPoint;};对一般的结构应该定义为类模板,为以后的扩展性考虑如:templateclass CcmTVector3d{public:TYPE x,y,z;};⑧、对常量(包括错误的编码)命名,要求常量名用大写,常量名用英文表达其意思。
如:#define CM_FILE_NOT_FOUND CMMAKEHR(0X20B) 其中CM表示类别。
⑨、对const 的变量要求在变量的命名规则前加入c_,即:c_+变量命名规则;例如:const char* c_szFileName;2、函数的命名规范:函数的命名应该尽量用英文表达出函数完成的功能。
遵循动宾结构的命名法则,函数名中动词在前,并在命名前加入函数的前缀,函数名的长度不得少于8个字母。
例如:long cmGetDevice Count(……);3、函数参数规范:①、参数名称的命名参照变量命名规范。
②、为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递。
③、为了便于其他程序员识别某个指针参数是入口参数还是出口参数,同时便于编译器检查错误,应该在入口参数前加入const标志。
如:……cmCopyString(const char * c_szSource, char * szDest)4、引出函数规范:对于从动态库引出作为二次开发函数公开的函数,为了能与其他函数以及Windows的函数区分,采用类别前缀+基本命名规则的方法命名。
例如:在对动态库中引出的一个图象编辑的函数定义为imgFunctionname(其中img为image缩写)。
现给出三种库的命名前缀:①、对通用函数库,采用cm为前缀。
②、对三维函数库,采用vr为前缀。
③、对图象函数库,采用img为前缀。
对宏定义,结果代码用同样的前缀。
5、文件名(包括动态库、组件、控件、工程文件等)的命名规范:文件名的命名要求表达出文件的内容,要求文件名的长度不得少于5个字母,严禁使用象file1,myfile之类的文件名。
三、注释规范:1、函数头的注释对于函数,应该从“功能”,“参数”,“返回值”、“主要思路”、“调用方法”、“日期”六个方面用如下格式注释://程序说明开始//================================================================//// 功能:从一个String 中删除另一个String。
// 参数:strByDelete,strToDelete// (入口)strByDelete: 被删除的字符串(原来的字符串)// (出口)strToDelete: 要从上个字符串中删除的字符串。
// 返回:找到并删除返回1,否则返回0。
(对返回值有错误编码的要// 求列出错误编码)。
// 主要思路:本算法主要采用循环比较的方法来从strByDelete中找到// 与strToDelete相匹配的字符串,对多匹配strByDelete// 中有多个strToDelete子串)的情况没有处理。
请参阅:// 书名......// 调用方法:......// 日期:起始日期,如:2000/8/21.9:40--2000/8/23.21:45//================================================================//函数名(……)//程序说明结束①、对于某些函数,其部分参数为传入值,而部分参数为传出值,所以对参数要详细说明该参数是入口参数,还是出口参数,对于某些意义不明确的参数还要做详细说明(例如:以角度作为参数时,要说明该角度参数是以弧度(PI),还是以度为单位),对既是入口又是出口的变量应该在入口和出口处同时标明。
等等。
②、函数的注释应该放置在函数的头文件中,在实现文件中的该函数的实现部分应该同时放置该注释。
③、在注释中应该详细说明函数的主要实现思路、特别要注明自己的一些想法,如果有必要则应该写明对想法产生的来由。
对一些模仿的函数应该注释上函数的出处。
④、在注释中详细注明函数的适当调用方法,对于返回值的处理方法等。
在注释中要强调调用时的危险方面,可能出错的地方。
⑤、对日期的注释要求记录从开始写函数到结束函数的测试之间的日期。
⑥、对函数注释开始到函数命名之间应该有一组用来标识的特殊字符串。
如果算法比较复杂,或算法中的变量定义与位置有关,则要求对变量的定义进行图解。
对难以理解的算法能图解尽量图解。
2、变量的注释:对于变量的注释紧跟在变量的后面说明变量的作用。
原则上对于每个变量应该注释,但对于意义非常明显的变量,如:i,j等循环变量可以不注释。
例如:long lLineCount //线的根数。
3、文件的注释:文件应该在文件开头加入以下注释://///////////////////////////////////////////////////////////////////// 工程: 文件所在的项目名。
// 作者:**,修改者:**// 描述:说明文件的功能。
// 主要函数:…………// 版本: 说明文件的版本,完成日期。
// 修改: 说明对文件的修改内容、修改原因以及修改日期。
// 参考文献: ....../////////////////////////////////////////////////////////////////////为了头文件被重复包含要求对头文件进行定义如下:#ifndef __FILENAME_H__#define __FILENAME_H__其中FILENAME为头文件的名字。
4、其他注释:在函数内我们不需要注释每一行语句。
但必须在各功能模块的每一主要部分之前添加块注释,注释每一组语句,在循环、流程的各分支等,尽可能多加以注释。
其中的循环、条件、选择等位置必须注释。
对于前后顺序不能颠倒的情况,建议在注释中增加序号。
例如:在其他顺序执行的程序中,每隔3—5行语句,必须加一个注释,注明这一段语句所组成的小模块的作用。
对于自己的一些比较独特的思想要求在注释中标明。
四、程序健壮性:1、函数的返回值规范:对于函数的返回位置,尽量保持单一性,即一个函数尽量做到只有一个返回位置。
(单入口单出口)。
要求大家统一函数的返回值,所有的函数的返回值都将以编码的方式返回。
例如编码定义如下:#define CM_POINT_IS_NULL CMMAKEHR(0X200)::建议函数实现如下:long 函数名(参数,……){long lResult; //保持错误号lResult=CM_OK;//如果参数有错误则返回错误号if(参数==NULL){lResult=CM_POINT_IS_NULL;goto END;}……END:return lResult;}2、关于goto的应用:对goto语句的应用,我们要求尽量少用goto语句。
对一定要用的地方要求只能向后转移。
3、资源变量的处理(资源变量是指消耗系统资源的变量):对资源变量一定赋初值。
分配的资源在用完后必须马上释放,并重新赋值。
4、对复杂的条件判断,为了程序的可读性,应该尽量使用括号。
例:if(((szFileName!=NULL)&&(lCount>=0)))||(bIsReaded==TRUE))五、可移植性:1、高质量的代码要求能够跨平台,所以我们的代码应该考虑到对不同的平台的支持,特别是对windows98和windowsnt的支持。