关于代码的优化小技巧

  • 2015-06-19
  • 132
  • 0

46602497_p0

Referenceequals 判断引用相等

Equals 先判断引用相等 然后判断值类型相等

优先使用foreach循环

使用using try..finally 清理资源

使用stringbuilder进行复杂的字符串操作

减少装箱拆箱

为需要多太的类添加受保护的虚方法dispose(),派生类通过重写它释放自己。

不要在循环中创建对象

在逻辑分支中创建对象,因为这些对象不一定每次都会调用

使用常量避免创建对象

不要使用空构析函数

实现IDisposeable接口

对一个字符串操作大于10次以上时,使用stringbuilder (不可变性,不变类)

尽可能不要使用toUpper和toLower方法 比较可以使用 bool.parse compare

判断空字符串的方法 length==0

只有方法中的变量才需要初始化

动态创建对象 使用最高效率的activator.createinstance(Type)

数据库中的表链接是低效率的操作 因为表连接会产生N*M条临时数据

Sqlhelp类返回datareader时 使用using保护资源
using(datareader reader=sqlhelp.Reader(sql))
{
}

定义对象放在using的前面,不要放在里面。

调用存储过程

string sql = “GetPageList”;//存储过程的名称

SqlParameter pCount = new SqlParameter(“@rowsCount”, SqlDbType.Int);
pCount.Direction = ParameterDirection.Output;//将参数设置为输出

using SqlConnection conn = new SqlConnection(“server=.;database=dbtest;uid=sa;pwd=123”))
{
SqlCommand cmd=new SqlCommand(sql,conn);
//指定命令类型为存储过程
cmd.CommandType = CommandType.StoredProcedure;

//根据存储过程来构造参数
SqlParameter pIndex=new SqlParameter(“@pageIndex”,pageIndex);
SqlParameter pSize = new SqlParameter(“@pageSize”,pageSize);

//为cmd添加参数
cmd.Parameters.Add(pIndex);
cmd.Parameters.Add(pSize);
cmd.Parameters.Add(pCount);

conn.Open();
SqlDataReader reader = cmd.ExecuteReader();

项目开发的步奏

市场调查。
写一个程序,肯定是为了赚钱。迎合客户的需求,是项目的基本要求。市场调查的目的在于分析目前市场的状态,评估这个项目的可行性。
开题报告
这个是毕业设计的步奏吧,是对条目一的总结。包括了开发这个项目的原因和项目的大致功能。
需求分析
通过条目一的调查和条目二的总结。可以得知这个项目为了完成怎么样的目的,服务于什么人,用于怎么样的环境。
数据库需求分析
搭建数据库,首先要分析整个数据库包含了什么数据,有多少个实体,实体间是怎么联系的,每个实体有什么属性,关系中有什么新的数据产生,实体间是多对多的关系还是一对一或一对多的关系。关系是否需要创建单独的关系表。数据库的表不一定是一个实体。
绘制ER图
注意实体的关联,一般不存在环形的结构。实体也可能是独立的。
建立数据库
编写SQl脚本
程序的功能模块分析
程序的流程分析
代码实现
程序测试

function init()
{
var message_web = “http://” + ip + “/WebAuth_message.asp”
if (authResult == “认证成功!”)
{
window.open(message_web, ‘_blank’, ‘height=200, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no, top=0, left=0’);
}
else if (authResult == “认证失败!”)
{
errFont.color = “#FF0000”;
}
else if (authResult != “”)
{
errFont.color = “#FF0000”;
}
else
{
;

回避项目的问题 声明这个是第一个版本 将在第二个版本完善或者增加相关功能

感谢打赏!
微信
支付宝

评论

还没有任何评论,你来说两句吧