我眼中的“.NET代码工人”

很多学习.net方向的朋友,尤其是初学者,例如“XX速成培训班”的学生。刚开始可能会先接触过一段时间的C#语言,能用C#打印“hello world”,告别这个“永恒的经典后”,可能会初步接触到算法,能打印“空心菱形,三角形”,会使用几种典型的排序算法(一多半是死记硬背的)。后来,可能会接触传统的windows Form编程,并且能很快的上手,使用WinForm的强大的控件,开发出各种漂亮的界面,后来接触了“数据库和ADO.NET”,并且能做出各种“酒店管理系统、图书管理系统”等等。这是第一步,可能你已经被微软的“易用性”吸引了,甚至成为了他的“忠实客户”,更有后者,会发出“跟着微软走”之类的口号。在这之后呢。可能会由于市场对web开发人才的迫切需求,会接触asp.net方面的应用技术。这样,问题也就慢慢出现了,风气不好,甚至是给业界带来很多不良影响。很多学校或者培训机构,在教asp.net课程的时候,首先会教学生认识并使用这些“功能强大的控件”,甚至不需要教学生“html、css、javascript、http...”等b/s开发基础知识,聪明点的学生也可以快速开发出“XX公司网站”之类的Demo项目来。学生在无形之中,就会“被控件绑架了”。我在参加了一年的工作与实际调查中,发现了80%以上的.NET程序员一致认为:“WinForm和asp.net差别不大,反正就是拖控件,设置属性,然后绑数据,点两下后就可以触发事件,自动跑到后台去执行代码了,对页面上的控件取值赋值也方便...”。呵呵,成就了一大堆的“拖控件的”地段程序员,这帮程序员真的“伤不起”。造成这种很不好的现象,原因有很多种。当然,首先这和微软一贯的战略有关,和整个.net框架、asp.net模型...都有关系,部分学校或者培训班只是教学生“如何做”,至于“为什么这样做”,我想,或许很多老师自己也讲不清楚。我个人建议,在ASP.NET教学或者学习的时候,请先接触html、css、javascript、http...”等基础知识,先开发出“静态网页”,了解了Web的基本结构、原理,再去体会“动态网页”的编程模型。当然,刚开始把HTTP协议原理、asp.net运行库、http管道等过于理论或者底层的东西拿出来啃,可能理解的效果可能会不好。理论和实践要注意适度。比如学习“服务端控件”的时候,不要先学“如何拖控件、设置属性、绑数据...”,先可以拿服务端控件和html标签比较一下,用小例子来理解服务端控件实现的基本机制、原理,这样理解才会更深刻。比如csdn传智播客的杨中科老师讲asp.net课程的时候,就先让学生熟悉html/CSS/JS等web开发的基础知识,然后再理解http协议的特点,用实例去解析web开发的本质。明白这些原理后,后台再使用微软的那些“强大的控件”,会觉得特别轻松。这对发展也是非常有利的,因为据我的经验,大型的web系统中,几乎没有使用这种“拖控件”的。这样学生既学会了如何灵活使用这些功能强大的控件,也理解了viewstate实现原理、http协议...等等原理性的知识点。还有就是他在讲课的时候,就非常风趣幽默,善于调动学生的学习兴趣,上课带领学生编码或者采用代码跟踪的方式,学生既理解了代码的用法和含义,也提高了“编码、调试、优化的能力”。这根那种“学院派风格”、“PPT讲师”的授课效果相比,答案可想而知。我不是什么代言,也不是什么海军,我只是个普通的程序员,表示我个人对某种方式的认同罢了。好了,大家一起努力吧,拒绝成为“只会拖控件、只会简单重复编码的代码工人”。好了,自我介绍一下,有兴趣的可以加我,可以一起交流讨论。

丁浪,13岁接触win98,学童时代曾混迹“黑客论坛”,涉猎甚广,略有所获。专注于J2EE/.NET 大型分布式系统架构,Android开发。热衷于技术研究与传播。

你可能感兴趣的:(JavaScript,.net,web开发,asp.net,微软,WinForm)