维护别人的代码,崩溃

danjiewu 2007-06-05 03:08:15
private void Bind(string id)
{
DataTable dt_base =CICtl.GetList2(" CorprationName,Address,PaperTZAdmin,PaperTZAdminTel,ElecTZAdmin,ElecTZAdminTel "," Guid='"+id+"' ").Tables[0];
if(dt_base.Rows.Count !=0)
{
this.cname =dt_base.Rows[0][0].ToString();
this.address =dt_base.Rows[0][1].ToString();
this.ztzadmin =dt_base.Rows[0][2].ToString();
this.ztzadmintel =dt_base.Rows[0][3].ToString();
this.etzadmin =dt_base.Rows[0][4].ToString();
this.etzadmintel =dt_base.Rows[0][5].ToString();
this.GetPicInfo(id);
}
}

private string GetPicInfo(string id)
{
DataTable dt_pic = CPCtl.GetList(" CorpID='"+id+"' ").Tables[0];
int num =dt_pic.Rows.Count;
for(int i=0;i<num%4;i++)
{
Html +="<tr width=100%>";
for(int j=0;j<num;j++)
{
Html +="<td width=25% align=center style='cursor:hand' valign =middle align=center><a href="+this.openurl+dt_pic.Rows[j]["PictureDir"].ToString()+" target='_blank'><font size=3pt color=red>"+dt_pic.Rows[j]["PictureName"].ToString()+"</font></a></td>";
}
Html +="</tr>";
}
return Html;
}

都是这样的代码,看了要吐血。要是你们碰到了怎么办?
实在不爽,来发两句牢骚。
...全文
679 31 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifengguo 2007-06-07
  • 打赏
  • 举报
回复
我要是维护这样代码,那真的是要谢天谢地了!

我现在维护的代码真的是垃圾,比这个可差劲多了,看得头都大了。

我咋就这么倒霉呢?
winner2050 2007-06-07
  • 打赏
  • 举报
回复
如果用到类,他们就不知道这个代码从哪里来了。

部署IIS跟用VS打开我給的代码,花了2个小时。

讲解相对路径,花了1个小时。
winner2050 2007-06-07
  • 打赏
  • 举报
回复
现在在家没有事作,就接几个毕业设计,作得好人家还不要呢,搞到最后我作的网站后台全部删除了。无语哦。

我要这么写代码他们才看得懂。
private void Button1_ServerClick(object sender, System.EventArgs e)
{
//获取需要的信息并验证
ProductID = Request.QueryString["id"].ToString();
SqlConnection connection=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
string sql="select * from Products where ProductState=0 and ProductId="+ProductID; //数据库连接字符串
SqlCommand command=new SqlCommand(sql,connection);//构件执行数据命令
connection.Open();
SqlDataReader dr=command.ExecuteReader();//保存从数据库里面返回的一条记录
if(dr.Read())
{
ProductQuantity=dr["ProductQuantity"].ToString();
}
if(Convert.ToInt32(quantity.Text)<=Convert.ToInt32(ProductQuantity))
{
Quantity=quantity.Text;
}
else
{
Response.Write ("<script language='JavaScript'>");
Response.Write ("alert('不正确数值或库存量不足!!')");
Response.Write ("</script>");
}

checkcode=vaidatecode.Text;
if (Session["CheckCode"].ToString()!=checkcode)
{
Response.Write ("<script language='JavaScript'>");
Response.Write ("alert('输入的验证码有误!请重新输入!')");
Response.Write ("</script>");
return;
}

if(RadioButton1.Checked==true)
{
PostPrice=RadioButton1.Text;
PostType="平邮";
}
else
{
PostPrice=RadioButton2.Text;
PostType="快递";
}

ProductTotal=Convert.ToString(Convert.ToDouble(productprice.Text)*Convert.ToDouble(Quantity));
Payment=Convert.ToString(Convert.ToDouble(ProductTotal)+Convert.ToDouble(PostPrice));

dr.Close();
connection.Close();

//--虚拟币交易
//买家扣钱
SqlConnection connection1=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
string sql1="select * from Users where UserName='"+Session["username"].ToString()+"'"; //数据库连接字符串
SqlCommand command1=new SqlCommand(sql1,connection1);//构件执行数据命令
connection1.Open();
SqlDataReader dr1=command1.ExecuteReader();//保存从数据库里面返回的一条记录
if(dr1.Read())
{
VMoney1=dr1["VMoney"].ToString();
}
if(Convert.ToDouble(VMoney1)>=Convert.ToDouble(Payment))
{
VMoney1=Convert.ToString(Convert.ToDouble(VMoney1)-Convert.ToDouble(Payment));
}
else
{
Response.Write ("<script language='JavaScript'>");
Response.Write ("alert('您的虚拟币不足!!!')");
Response.Write ("</script>");
return;
}
dr1.Close();
string sql2="update Users set VMoney='"+VMoney1+"' where UserName='"+Session["username"].ToString()+"'";
command1=new SqlCommand(sql2,connection1);//构件执行数据命令
command1.ExecuteNonQuery();

connection1.Close();

//卖家加钱
SqlConnection connection2=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
string sql3="select * from Users where UserName=(select UserName from Products where ProductId='"+ProductID+"')";//数据库连接字符串
SqlCommand command2=new SqlCommand(sql3,connection2);//构件执行数据命令
connection2.Open();
SqlDataReader dr2=command2.ExecuteReader();//保存从数据库里面返回的一条记录
if(dr2.Read())
{
VMoney2=dr2["VMoney"].ToString();
}
dr2.Close();
VMoney2=Convert.ToString(Convert.ToDouble(VMoney2)+Convert.ToDouble(Payment));
string sql4="update Users set VMoney='"+VMoney2+"' where UserName=(select UserName from Products where ProductId='"+ProductID+"')";
command2=new SqlCommand(sql4,connection2);
command2.ExecuteNonQuery();

//卖家库存量扣除
Qnum=Convert.ToString(Convert.ToInt32(context.Text)-Convert.ToInt32(Quantity));
string sql5="update Products set ProductQuantity='"+Qnum+"' where ProductId="+ProductID; //数据库连接字符串
SqlCommand command3=new SqlCommand(sql,connection);//构件执行数据命令
command3=new SqlCommand(sql5,connection2);
command3.ExecuteNonQuery();
connection2.Close();


//最终形成定单
SqlConnection conn=new SqlConnection (ConfigurationSettings.AppSettings["ConnStr"]);
string strsql="INSERT INTO Orders(Store,SalesId,BuyerId,ProductId,Quantity,PostType,PostPrice,ConsigneeName,MobilePhone,Telephone,ConsigneeAdress,ConsigneePost,ProductPrice,ProductTotal,Payment) values('"+productid.Text+"','"+salesid.Text+"','"+Session["username"].ToString()+"',"+ProductID+",'"+Quantity+"','"+PostType+"','"+PostPrice+"','"+buyername.Text+"','"+mobileTele.Text+"','"+telephone.Text+"','"+address.Text+"','"+postalcode.Text+"','"+productprice.Text+"','"+ProductTotal+"','"+Payment+"')";
command=new SqlCommand(strsql,conn);
conn.Open();
command.ExecuteNonQuery();
conn.Close();

Response.Redirect("Order_Detail.aspx");
}
scow 2007-06-07
  • 打赏
  • 举报
回复
up
danjiewu 2007-06-07
  • 打赏
  • 举报
回复
唉,代码虽然简单明了,但是谁能保证这段代码不会出问题呢?如果需求有变动了呢?数据库结构有变化呢?
初学者写这样的代码也就算了,难道要这样写一辈子?虽然我用C#时间也不长,至少不会写出这样的代码,自己都受不了。
伴老思源 2007-06-07
  • 打赏
  • 举报
回复
还行,看懂没问题
LutzMark 2007-06-07
  • 打赏
  • 举报
回复
美国的希尔顿曾经举过这样一个例子:
一块普通的钢板只值5美圆,如果把这块钢板制成马蹄掌,它就值10美圆50美分,如果做成钢针,就值3350美圆80美分,但如果把它做成手表的摆针,你猜猜它的价值可以攀升到多少美圆呢?猜不到吧?价值25万美圆!
其实每个人都是一样的,最初都可能只是一块普通的钢板,只值5美圆。但最后有的经过锤炼,就变成马蹄掌,价值翻了一倍多。有的则经受了更多的火焚打磨,最后成了价值最高的钢针;而那些经受种种翻来覆去的残酷打磨敲击成为手表摆针,他的价值已是他当初的5万倍,不想成为人中之龙也难了!
看来,你首先明白的应该是:你拿自己做什么!是做钢板、马蹄掌、钢针还是手表的摆针?价值越高,经受的磨难和需要的付出就越多,明白了这一点,你才明白应该怎样去干好自己的事!
ofei 2007-06-07
  • 打赏
  • 举报
回复
维护起来应该不难
只是不合你的口味
未必每个人都OO
也未必每个人都讲究代码重用
很多时候拿回以前自己写的代码都可能有些地方不爽
时空变化 能力提高....等等原因

想看看winner写的N层结构的代码是什么样子的
应该值得学习吧?
呵呵
beyondjay 2007-06-06
  • 打赏
  • 举报
回复
看来那人是从asp转过来的
danjiewu 2007-06-06
  • 打赏
  • 举报
回复
其实我不是说这段代码本身写的不好,能写出这样代码的水平已经可以了。之前我接触到的项目其实也都差不多,但是一个项目都是这样的代码的话确实是有问题的。
像这样没有设计好的代码,不出bug是不可能的,而修复bug的代价大家也都知道。而且需求的变动对系统是致命的。
你们做项目的时候也是这种情况吗?
danjiewu 2007-06-06
  • 打赏
  • 举报
回复
难道是我的要求高了?
其实这样代码也没有什么,但是如果几百个页面里都是这种代码就头疼了。还有一大堆代码是代码生成器生成的,但是其中又手动改动了一部分,现在接手要对这部分代码改写,看的头大。
现在只能老天保佑需求不要有变动了。难道现在做软件的都只会写代码?没有一点设计和OO的思想?
圭步 2007-06-06
  • 打赏
  • 举报
回复
可读性,蛮好的呀, 感觉就是缩进方面不大好, 呵呵
lincai 2007-06-06
  • 打赏
  • 举报
回复
呵呵,代码不错了.起码有get list
我维护的都是Query1(),Query2(),注释是读取记录.
emailme22 2007-06-05
  • 打赏
  • 举报
回复
中国人有个毛病,文人相轻.
其实我看了下代码,觉得如果大小写命名规范点,代码还可以啊,很容易懂.是否LZ读代码的能力有问题?还是谦虚点,每个人包括代码都有值得学习的地方.
sibyle 2007-06-05
  • 打赏
  • 举报
回复
知足吧 我在维护静态页
canybox 2007-06-05
  • 打赏
  • 举报
回复
是人写的都一样,很多人是在维护别人的代码.
毕竟开发的成本是很高的....
兔子-顾问 2007-06-05
  • 打赏
  • 举报
回复
看不出有什么问题,高复用的代码是大家都希望看到的,但并不是所有地方都需要那种高复用的代码。

其实我也维护,维护一个evc3写的程序,2年多了。经常和楼主一样,快崩溃。不过我维护的这个代码怎么说呢,是我的老师(刚进公司带我的头头)写的。的确不错。不过,如果不是大公司,代码都不太可能整体上都保持一样的风格和一样的高复用。我老大的代码里,有的就复用很好。很经典,不过大部分,大约45%,复用都不是很高。维护的我也很辛苦。

我自己也写过软件。几个月后,维护自己的程序一样郁闷。不亚于维护任何一个别人写的软件。
chenchen123456 2007-06-05
  • 打赏
  • 举报
回复
用MS的东西你不觉得烦吗?那可是大堆大堆的类呀
QuinsonYue 2007-06-05
  • 打赏
  • 举报
回复
哈哈 坚持 兄弟
lnwuyaowei 2007-06-05
  • 打赏
  • 举报
回复
代码比较直观。
加载更多回复(11)

7,774

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧