(编程常见问题总结.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(编程常见问题总结

编程常见问题总结 编写程序过程中,不加注意,会出现好多微不足道的小毛病,有些问题非常低级,尤其是在对代码规范要求不严格的公司里,这些毛病积累起来,可能会要了软件产品的小命,回顾了最经做的几个项目,总结了以下问题。我自己整理的,有问题欢迎讨论! 常见问题 一、 C# 代码编写方面 1、 不能因为项目进度而牺牲代码质量,不然代码质量会严重影响你的项目进度。 2、 对代码质量的要求多么苛刻都不过分,省一分钟的将就,会浪费一天的维护时间。 3、 从DataTable或DataGridView控件中取值时,不要用数据序号标志取哪一列的值。 (1): dr[0]、dr[2]、this.dataGridView1.Rows[e.RowIndex].Cells[6].Value (2):dr[“userName”]、dr[“ISBN”]、this.dataGridView1.Rows[e.RowIndex].Cells[targRID].Value l 中字段多时很难一一对应,伤神费力; l 的方法耦合性强,如果取值的语句中列的顺序变了,程序就得跟着变。 l 可按照(2)中的方法用 名字来标志列。 4、 方法间传值,应尽量避免用很长的数组做为参数。原因是:值不好对应、耦合性太强。 可以用哈希表、封装成一个类、用结构体来实现。用哈希表Key、类属性名、结构体的属性名来标识。 5、 变量定义在循环结构内和定义在循环体外的区别。 for(int i=0; i 10 ; i ++) { int j = i; } int j=0; for(int i=0; i 10 ; i ++) { j= i; 讨论: (1)中的写法是每次循环都要为变量j分配一个新的空间。结束一次循环后,会自动回收本次循环的变量,但根据语法规则,这种声明方式是没任何问题的。 (2)中变量要定义一次,多次赋值,少了频繁地定义与回收。建议使用(2)的方法。 6、 代码中尽量不要有汉字,DataTable列名、DataGridView的列名尽量不用汉字。 (1):if(orderState==”下单成功”) (2):if(orderState==”OrderOK”) 遇到订单状态等可以枚举的值 ,可以定义一个枚举。 7、 不能用方法返回的异常信息,做为程序流程判断的标准。如下: int Count =UpdateZt(Managerid, targetZt,ref err); if(err.IndexOf(未将对象引用设置到对象的实例)!=-1){….} 8、 遇到非托管代码部分,要手动释放内存。可以定义Try{ } catch {} finally{} 结构,将释放内存的操作放在finally内。以下是平台未释放excel进程的例子。 9、 所有有可能为null的地方都要判断,杜绝理想编程。包括:页面传的值 、方法返回值等。 10、 所有界面上要输入数字的地方,都要做类型判断,页面和后台代码都要验证。 11、 适时地用缓存。不重要的系统设置、基础字典信息等不经常更新的东西非常适合放入缓存。 12、 SQL语句不要以拼字符串的方式组织。要以变量方式。存储过程中也要以参数形式。 (1) 拼字符串方式容易造成SQL注入式攻击,有的网站能用( or 1=1 or 1=)登录。 (2) 拼字符串方式会因特殊字符造成执行失败,如语句中有 单引号、冒号等。 (3) 拼字符串方式的语句不利于数据库级别的优化。因为Oracle数据库可以缓存一部分语句,如果再遇到相同的语句,就能提高执行效率,而以变量方式的语句,每个执行的语句是相同的。 13、 有数据库多表同时操作时,一定要用事务。 14、 注意float类型值在加减乘除时,会出现误差的情况。 15、 程序中定义变量,起名要有意义,不要定义名字类似“XX”、”XXXX”、“sdfs”的变量,当时想着,先实现,再改名,然而之后一般不会去改。 16、 不要写太长的方法。比如有100多行或者几百行,甚至上千行,那肯定有问题,肯定可以分拆成几个方法。一可以将共同的部分封装,二能提高方法的可读性。 17、 取前多少行的写法不同,取得的结果也是不同的 取必威体育精装版出版的10个商品(带order by的) 1 、第一种写法 select spxxid, spbh, CBNY, pm, dj, zz, dt, xt, WSJG from jt_j_spxx where SFSJ = 1 and cbny i

文档评论(0)

xinghua3aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档