小议程序员的视野(转)

转自http://www.cnblogs.com/xiehuiqi220/archive/2009/10/31/1593481.html

关于视野,我以前就有很多想法,因为我经常由于视野不宽而走弯路,因此觉得视野太重要了,比智商和技术更重要。

我以前做ajax应用的时候不知何为异步何为同步,更不知何为回调,总觉得程序应该是一条一条执行下去的,上一语句还在执行的时候不可能会执行下一语句的,因此在写xmlhttp的时候,总是不知道把async属性设为true,而是按部就班地先发出请求,然后等待返回的结果,当时还纳闷说,ajax这么流行的东西怎么这么卡呢?后来深入了解ajax之后就知道,使用同步模式,只要你的请求还没被返回,你就要一直等待,这段时间你的鼠标不能动,滚动条不能动,也就是“阻塞”了,能不觉得“卡”吗!

当时只从书上知道xml是国际通用数据交换格式,因此用xml交换数据,把数据库的记录转换成xml,再发到客户端,客户端用xmldom去解析,现在才知道相对于json,这是多么笨拙和缓慢的办法,如果早点了解ORM,了解json序列化,以后又怎么会再花大力气去重构以前那些丑陋的应用。

还有些其他人的例子,比如我有个同事,为了让用户关闭浏览器就会话失效,打算把项目从cookie存储身份信息换成session,而事实上只需把form验证的某个配置改为false即可,如果身边没有同事告知,多少的劳动力又浪费在这些弯路上了?

刚才还看到一片博文,博主说看到某C#函数中的参数前有this关键字,于是百思不得其解,便做了个小程序去测试,百转千回终于发现那个类下面多了这个方法,事实上这就是C# 3.0中新增的“扩展方法”机制,如果博主在一两年前C# 3.0发布的时候稍微了解下这些新特性,又何必对这个参数前的this大惊小怪,不过本人非常敬佩该博主的专研精神和工作学习的态度。 

技术可以让您做出来,比如做聊天室,视野窄的用定时刷新页面,稍好点的会用ajax轮询,而视野更广的会用comet长轮询,技术是实现了,但是视野的宽度决定了产品是否具有先进,越有先进性,那么被淘汰的概率也小,而那些因为视野窄而使用并不优越的方法做出来的东西,不但以后可能要重构,还可能被淘汰。

视野的建立不是一蹴而就的,相反正是在缺乏视野的跌跌撞撞中才会扩大人的视野,有的人接触的东西少,想依赖实践去扩大视野显然是相当慢的,因此就要多多学习了,我以上举的几个例子,如果主人公在实践之前就掌握了扎实的WEB编程理论知识,就会少走许多弯路。

千言万语汇成一句话,没事多学学,多去技术社区看看,多去英文网站看看,多关注下新技术、新动态,当你的精力有限时,不必了解某种技术具体怎么去用,但是应该了解这种技术有什么优点和缺点,适应什么场合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值