Web开发学习体会 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 网站建设 >

Web开发学习体会

发表时间:2005-2-1

发布人:葵宇科技

浏览次数:26

Web开发学习体会

这段时间一直在学习使用vss.netweb方面的东西,稍微有些感触,主要是如下几方面的:

1. webB/S开发思想、模式

由于起初对HTML语言没有多少了解,所以刚拿到一些例子,特别是那些诸如JAVASCRIPT等客户端脚本无从下手,甚至一个简单的页面都要花很长一段时间来处理。再者,长时间受C/S开发模式的影响,在WEB开发过程中时常会自觉不自觉的用C/S的思维考虑一些B/S开发特有的东西,遇到很多在C/S模式中看似十分简单而到web编程的时候就感到特别痛苦,甚至无法实现;正因为受到这种思想的束缚,我们近期在开发的《智合论坛系统》遇到了很多麻烦,造成系统整体框架不合理、系统界面十分丑陋、系统运行效率低下、系统安全性低下等一系列后遗症,但是在这次论坛开发中我还是得到的挺多启发:

a) Web系统的观念需要正确对待,它已经不是单纯的一个技术系统,它涉及了html、美工(web设计)、框架设计等,当然国内外有很多软件公司是数据库、系统代码、美工、网页设计等都是分工合作的,但是我个人认为程序员的能力是来自多方面的,我想更多的武装才能有更好的成就和竞争力度,所以经常自我提醒,在以后的开发过程中要尽量把以上提到的各个部分做到尽善尽美,不要老觉得只要把代码写好就行,界面是美工的事;

b) 在开发web应用的过程中,团队间的合作更为重要,比传统的C/S开发相互间的协作更多了,因此交流相当重要,以这次论坛开发为例,由于开发前约定的一些事项没有得到严格执行,造成许多重复劳动,甚至一度导致系统运行失败;这里特别提醒在以后开发中,一些公用的组件、类、控件、接口等最好能由全体组员讨论得出,修改过程一定要慎重,有必要的外部接口必须加上方法级注释;

c) 采用B/S模式开发应用,对数据安全、并发控制的要求十分之高,C/S方式没法比拟,而我们本次的论坛开发过程中一直采用的是对数据进行简单加密,没有找到行之有效的方法加以解决,系统安全问题是个很大的隐患,希望通过今后学习探索能找到解决措施;

d) 我个人认为采用web开发模式重要的是理解什么是B/S,它的优点以及限制,这样在实际的应用中才能得心应手。模式是一些优秀的面向对象方法的总结,这些东西要灵活使用,不能为了模式而模式;

e) 我觉得在学一门新语言、一个新开发工具的时候一定要逐步养成一些好习惯,ASP.NET也不例外。ASP.NET的开发中,可以学习的技巧不少,但是,一些基本的编程习惯我们一定要养成,这样不但能根本上提高程序质量和开发效率,而且也利于程序的阅读和团队开发。如果自己写的程序只有自己可以看懂或者只有几个人可以看懂,即使程序技巧神乎其技,对于程序的升级和维护都是致命问题。开发过程中诸如:错误处理、字符串的处理、数据库链接及关闭时机等一些影响到系统性能的处理一定要养成比较好的习惯,特别是数据库操作方面的习惯,一定要坚持“尽晚开启,尽早关闭”的原则,因为WEB应用面对的用户群体肯定比传统的C/S要大,保证系统性能是十分重要的;

2. .net Framework 框架

.net framwork是一个庞大而完整的类库,几乎涵盖了所有的开发领域,里面不但有很多可以使用的地方,也有很多值得学习的地方,比如如何组织各个类之间的协作关系等等。

在这个框架用的最多的也就是ADO.NET部分的东西了,而说到ADO.NET不得不提DataGridDataSetDataReaderDataAdapter一些重量级的控件、类,这使许多数据交互提供了极大的便利,这次开发过程中用到的东西有限,主要DataSetDataGridDataReade反复使用,而且值得检讨的是一直没深入研究这几个好东西,不过关于DataGrid在使用过程中学到了一些比较好的用法,比如模板列、分页功能等,功能的确强大,细节上的东西就不在这赘述了。

3. 在实际开发过程中的一些小问题

在开发过程中,通过摸索查资料,收集了一些值得提出来的经验:

a) 相对于原来的for语句foreach具有更好的执行效率,foreach的平均花费时间只有for30%。通过测试结果在forforeach都可以使用的情况下,我们推荐使用效率更高的foreach。另外, for写入数据时间大约是读取数据时间的10倍左右;

b) asp.net程序中,使用sa账号的是一种非常不安全的做法,它具有在数据库上执行任何操作的权限。黑客可以调用类似于xp_cmdshell这样的扩展存储过程进行攻击;

c) 在处理数据交互的时候,尽量将组织SQL语句的处理放到中间层(比如专门的数据操作类、存储过程等),这是防止注入式攻击的有效方法;

d) 避免到服务器的不必要的往返过程。使用 Page.IsPostBack 避免对往返过程执行不必要的处理;

e) 一定要禁用调试模式;

f) 一般情况下,读取大量数据,对返回数据不做大量处理用SqlDataReader.对返回数据大量处理用DatSet比较合适.SqlDataReaderDataSet的选择取决于程序功能的实现;

g) 数据绑定建议使用<%# ctype(Container.DataItem,DataRowView).Row("字段名") %>。数据量大的时候可提高几百倍的速度;

以上仅仅是个人的部分收集,个人观点很不全面,有些内容还显得十分空洞,或许还有错误,希望在以后的学习实践中继续进步、继续积累。

相关案例查看更多