电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

C#代码规范(湖南大学).doc

  • 资源ID:128300568       资源大小:97KB        全文页数:10页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

C#代码规范(湖南大学).doc

创新课程参考案例铁路局计量管理系统C#代码规范湖南大学软件学院2007年8月文档信息:文档编号MMIS-03文档名称计量系统C#代码规范文档描述该文档详细定义了计量系统开发中的C#代码编写规范,本文档是后续分模块程序编码的规范性文档。VSS中文档存放路径$/学院/软件开发部/计量系统/开发设计文档负责人状态定稿文档变更记录:时间修改人章节描述2007-05-29陈浩所有创建新文档相关文档:文档路径计量系统需求分析说明书$/学院/软件开发部/计量系统/开发设计文档计量系统功能说明书$/学院/软件开发部/计量系统/开发设计文档文档确认与评审记录:审核人审核时间意见备注项目组2005-7-28评审通过用户评审确认目 录1编程风格41.1统一编程风格的意义41.2变量命名规则41.3函数命名规则51.4类命名规则51.5常见语句书写规则61.6注释风格72代码组织73代码优化83.1代码优化的意义83.2函数内的代码优化83.3类内的代码优化93.4类之间的代码优化104调试技巧104.1编译时的错误104.2运行时的错误104.3C#常见问题111 编程风格1.1 统一编程风格的意义 增加开发过程代码的强壮性、可读性、易维护性 减少有经验和无经验开发人员编程所需的脑力工作 为软件的良好维护性打下好的基础 在项目范围内统一代码风格 通过人为以及自动的方式对最终软件应用质量标准 使新的开发人员快速适应项目氛围 支持项目资源的复用:允许开发人员从一个项目区域(或子项目团队)移动到另一个,而不需要重新适应新的子项目团队的氛围 一个优秀而且职业化的开发团队所必需的素质1.2 变量命名规则 前缀(小写字母加下划线)表明变量的作用域,无前缀则表明是局部变量或函数的参数。如: m_xx表示是类的成员变量,控件变量例外 g_xx表示是全局变量,在C#中,也可以理解为在整个项目中都可能用到的静态变量 c_xx或者XX表示是一个常量 用数据类型全称中的关键字母代表特定的数据类型(一个或多个小写字母),如下表。常用数据类型缩写数据类型iintbboolstrstringccharffloatddoubleobobjectlblLabeltxtTextBoxbtnButtoncmbComboBoxmnuMainmenumnuItemMenuItemchkCheckBoxgrdDataGridtmTimerfrmFormpnlPanelgupGroupBoxtvTreeViewrdoRadioButtonlbListBoxtlbToolBardtDateTimecnConnectioncmdCommanddsDataSetdaDataAdapterdvDataViewdbTableDataTabledbReaderDataReaderparamParameterdbRowDataRowdbColDataColumn注:如果模块中只有一个类实例对象,则可以只用简写。如Connection对象可以用cn来命名。1.3 函数命名规则 函数名用首字母大写的英文单词组合表示(如用动词+名词的方法),其中至少有一个动词 应该避免的命名方式 和继承来的函数名一样。即使函数的参数不一样,也尽量不要这么做,除非想要重载它 只由一个动词组成,如:Save、Update。改成如:SaveValue、UpdateDataSet则比较好 函数参数的命名规则 函数参数应该具有自我描述性,应该能够做到见其名而知其意 用匈牙利命名法命名1.4 类命名规则 类的命名通常以父类的简写开头。如:FrmXXX可看出该类从Form中继承而来 类名中尽量不要出现下划线 类变量的命名可以参照,如:FrmXXX frmXXX = new FrmXXX(),即首字母小写即可1.5 常见语句书写规则如下表所示。语句提倡的风格ifif(condition)statements;elsestatements;forfor(initialization; condition; update)statements;foreachforeach(something in collection)statements;switchswitch()case .:break;case :break;default:whilewhile(.)statements;do-whiledostatements;while(condition);try-catchtrystatements;catch(Exception e)handle exception;同一代码块内的不同逻辑块之间应空一行do statement1;do statement2;函数与函数之间至少空一行,但不超三行1.6 注释风格 注释应该正确、简洁、有重点 应该写优雅的、可读性良好的代码,而不是为玄妙、晦涩的代码写注释 原则上应尽量减少程序体内代码的注释,应该保持代码本身的直接可读性 函数的注释,可以只对public或者重要的private函数进行注解2 代码组织代码组织是对整个项目的代码进行整理,使之更加有序。实现类似功能的文件应该放在同一个文件夹中或者同一个项目中。例如,可把整个项目分为以下几个层次: SystemFramework层提供一些给其他公用的服务,比如说系统日志、应用程序配置、异常处理、调试类等读取Web.config和*.exe.config一般都在这一层。 Common层把逻辑上的tables抽象成一些类,这些类一般从DataSet继承,生成一些strong typed Dataset,类中不涉及任何数据库操作。 DataAccess层这一层的类负责与数据库的连接,以Common层对象为媒介读取、更新、添加、删除数据库对象。为Bussiness层提供数据服务。 Bussiness Logic 层如果需要的话可以分为以下两层,也可以合为一层。 Business Rule层包含各种商务逻辑和规则。 Business Faade层提供给UI层所有的系统接口,这一层抽象出了UI层所需要用到的功能。这一层的类可以通过继承MarshalByRefObject类,支持Remoting,配置到专门的应用程序服务器上。 UI层只调用Bussiness层和SystemFramework层的接口,实现用户界面。包括: WinUI WebUI WebService(并不是用户界面,但是逻辑上属于这一层)3 代码优化3.1 代码优化的意义 仅仅对符合功能说明书的要求、能正确运行的代码进行优化是有意义的 代码优化能减少冗余代码的数量,用更少的代码来实现同样的功能 提高代码的内聚程度,减少耦合程度 对代码的抽象能提高代码的重用度,对今后其他项目的进度有非常重要的意义3.2 函数内的代码优化 去掉从来没有用到过的参数 始终进行参数检验。不要认为只有我才会调用这个函数,我能够保证参数的有效性。事实上很多运行错误就是没有对参数进行检验。对于传入了非法值的函数调用,可以返回一个对调用无意义的值(如:null,-1),或者干脆抛出一个异常 函数的参数不宜过多,如果实在是太多,可以考虑将这些参数封装在一个类中,然后将这个类的某个实例作为参数传入函数 如果函数从来不会修改某个参数的值,则应该尽量将参数声明为const 如果函数中用到的类成员变量或者其他全局变量可以用传入参数的方式代替,则用参数代替,这样可以减少该函数和外界的关系,提高内聚 一个单一的函数的代码量不宜过多。如果实在很多,则可以把它切分成小的函数,例如长的switch语句是最容易切分的 单个函数中尽量避免相同的代码,可以用条件语句或者抽取出来作为函数的方法消除这些冗余 尽量保持函数只有一个出口,即只有一处return语句,如: 原始代码string GetControlText(int nIndex)if(ParameterValid() = false)return null;switch(nIndex)case 0:return txtValue1.Text;case 1:return txtValue2.Text;. 优化过的代码string GetControlText(int nIndex)string strReturnValue = null;if(ParameterValid() = true)switch(nIndex)case 0:strReturnValue = txtValue1.Text;break;case 1:strReturnValue = txtValue2.Text;break;.return strReturnValue;3.3 类内的代码优化 只有类对外的接口才声明为public 在类的成员函数中如果存在着相同的代码,则将其抽取成为private的成员函数,以减少代码的冗余,保持在一个类中没有相同的两份代码的副本 尽量减少成员函数之间的依赖,特别是对成员变量值的依赖3.4 类之间的代码优化 类应该是一个实体,具有自己的数据和对这些数据的操作 把界面操作和数据处理分离在两个类中是比较好的做法 对于不同类之间有相同代码的情况,有以下几种处理方法: 将相同的代码抽象出来作为父类,其他的类从中继承,由此来共享代码 将相同的代码抽象出来作为一个新类,其他类中声明一个该类的变量,由此来共享代码这两种方法各有利弊,前种方法比较适于当共享代码在调用之前必须做特殊的初始化,而这些初始化可能很难用函数调用来完成,这时父类的初始化代码中可以加入一个虚拟函数,所有的子类都重载该函数,做特定的初始化;后种方法可以封装得很彻底,只暴露出对外的接口,和其

注意事项

本文(C#代码规范(湖南大学).doc)为本站会员(小**)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.