大早上看到的一段话

原创 2004年10月15日 09:09:00

在技术更新的进程中, 仍然有一些人死抱着已经过了气的东西不放. 也有一些人虽然进入到新的世界, 但仍摆脱不了陈旧的习惯. 我没有用”陋习”这个词, 因为我对这个词也非常反感.

新技术应该有新技术的做法, 进入ASP.NET的世界, 就应该把以往的习惯改正, 全新的进入新的世界, 把ASP的破烂扔掉.

以下列举的都是错误的做法, 请不要误以为是推荐的做法而进行推广:

1. 使用server side include给ASPX引入共同的页面构图.
在ASP.NET的机制下, 应使用ASCX(web user control)来实现. ASCX提供了更多可控制接口. 并且更重要的是, ASCX是一个类. 一个实实在在的类. 可以全面控制它.

2.不使用web.config
web.config提供了非常丰富的配置管理接口. 是一个应用程序最核心的部分.  但是很多人的web.config往往是空的. 或者就从来没有修改过.

3.使用Response.Write向前端输出消息
ASP.NET平台下的Response和ASP的Response有很大的不同. 虽然表示同一含义, 但用法上已经大不相同. Response.Write的内容只会输出到页的最前端. 向前端输出消息的正确方法是使用PlaceHolder.

4.使用一系列session管理用户连接状态
这种方法在ASP里被滥用. 在ASP.NET环境下, 正确的做法应该是设计一个类. 结构化地保存数据. 将对session或者cookie的访问封装起来.

5.使用session验证身份
这几乎是通病. ASP.NET提供了一组用于用户身份验证的API. 类型是forms验证或者windows验证. 这一点quick start有一节讲解得很清楚. 可以绝大部分人还是依靠给session赋值来保持用户身份验证状态.

6.使用Response.Redirect重定向页
这一点在必要的时候可以使用. 但不可滥用. 事实证明滥用重定向将导致逻辑上的严重混乱. 这是在以页为程序单元的时候的做法. 使用front controller模式将使用户的操作逻辑集中起来]

7.使用太多ASPX页
ASP环境下的程序单元只有*.asp页, ASP.NET可不是这样, 还有后端的类库, ASCX等等. 应将业务逻辑分别集中在不同的单元, 而不应该一项操作使用一个ASPX. 更多时候ASPX将做为ASCX或者custom control的容器而管理页内逻辑. ASPX重用ASCX的同时, ASPX也做为统一的页构图重用.

8.在多个逻辑单元之间复制代码并修改相应逻辑
重用. 重用. 重用. 处理此类问题的原则是不出现任何相同或相似的过程. 如果你用上面的方法, 一旦出现重大逻辑更改, 带来的结果将是灾难性的.

9.害怕使用DataSet.
很多人被DataSet吓坏了. 认为”肯定”影响性能. 但连最初的尝试都不敢. 他们总认为他们的产品一定重大, 设计上应该”慎重”. 他们往往使用ArrayList或者设计低级的类来保存集合数据. 进行艰难的数据倒入工作.

10.对“性能”过多注意.
对ASP.NET ViewState的机制特别不满. 或者总是挖空心思迫害人家. 反倒把自己弄得很累. 如果在对付ViewState的同时多注意少连几次数据库也许更文明些.

11.应用程序根目录很乱.
ASP.NET是开发项目. 不是网站. 应该把不同的资源分类放置. 例如把所有静态资源(样式表, 脚本, 图像)组织到一起. 甚至可以写一组API来管理他们. ASPX应该放在一起. ASCX应该放在一起. .*.cs呢? 应该把他们放到另外一个project里.

12.不厌其烦的写访问数据库的过程
应该把这工作交给DataAccess Application Block. 你自己还要开关connection, 何苦呢.

13.自己写的东西最靠得住.
事实往往正好相反. 多注意使用人家写好的产品. 又不收你钱, 何苦那么爱面子呢.

14. 胡乱命名ASPX文件名
这是最让人痛苦的了. ASPX文件名不仅需要容易识别. 还应该遵循一定规则. 因为behind每个ASPX都会有一个同名的类, 想象一下, 多难受. 另外大部分人不知道管理自己的项目的name space. 让人好像看到一本帐一样.

15.从来不作继承或派生
一些具有相同行为的类, 应该从公共的基类派生出来. 实际意义上, 我们的ASPX应该有一个基类PageBase. 因为总有一些公共的特性需要抽象出来.

16.零property
他们的类(ASPX所对应)里只有private method. 不公开自己的任何秘密. 可以这一定是JAVA的遗老干的事.

17. 零ASCX
不用说, 他还没学会ASP.NET

18.使用DreamWeaver“画“ASPX
这批人是美工. 甚至有一些人在非常陶醉地讨论如何更好地“整合“ DreamWeaver和Visual Studio.

19.只熟悉System.Web.UI.WebControl和System.Data.SqlClient
应该还有一些值得熟悉的类库.

20.零注释
这些都是心里很明白的快手. 一任IDE生成的缺省注释横在那里不管.

21.零事件
对“事件驱动“一无所知. 只知道在Page_Load()里写过程. 或者双击一个按钮写Xxx_Clock()过程. 在他们的程序里看不到event和delegate.

以上是想到哪写到哪, 大家如果碰上让你深恶痛绝的事, 也可以补充.

我一直以为, 工作是人品最直接的反映. 对程序员来说, 代码就是最真实的心灵写照.
仅仅是个人看法.

程序设计实习上机练习43 至少有多少只恼人的大青蛙?(搜索+贪心,至今未解决)

程序设计实习上机练习43 至少有多少只恼人的大青蛙?(搜索+贪心,至今未解决)...
  • PKU_ZZY
  • PKU_ZZY
  • 2016年05月29日 14:07
  • 1244

网上看到的一段话

很久很久以前在中国呀,那时的天空是蓝的,肉是可以放心吃的,坏人是害怕好人的,法庭是讲理的,结婚是先谈恋爱的,理发店是理发的,穿裤子是要穿裤带的, 药是可以治病的,医院是救死扶伤的,学校是教书育人的,照...
  • wuyou
  • wuyou
  • 2006年09月10日 19:48
  • 1270

在网上看到的很有道理的一段话

关于那个项目(实际上是个产品)具体的东西几句也说不清楚,有些涉及具体实现的也不能说太多。我倒是愿意就Bug分析和项目管理和大家讨论一下。实际上大公司的很多产品的代码写的是很弱智的(我上次参与的那个项目...
  • xxpyeippx
  • xxpyeippx
  • 2007年08月18日 17:26
  • 851

看到的一段话

  "国内软件开发行业有一个怪圈,很多人觉得VC > Delphi > VB,真是很搞笑。这几个软件我都做过开发,说白了他们都是工具,应该根据应用的需要选择采用哪个,而不是觉得哪个上层次。如果你因为用...
  • jakeyjia
  • jakeyjia
  • 2006年04月13日 11:04
  • 737

偶然看到的一段话

也许你已经走了,其实你还会来;你以为你忘记了,其实你还记得;也许你什么都拥有,其实你一无所有;人们有时以为不喜欢什么,其实不是,只是没察觉到;人们有时以为失去什么,其实没有,只是被移开了。我们都有权利...
  • siow
  • siow
  • 2005年12月17日 03:09
  • 1074

小木虫看到的一段话

我感觉自己很努力,一直在学习学习学习。来看看自己的一天生活吧:一大早,收拾一下,送孩子上学,然后去食堂吃饭;七点准时在电脑面前,看一下电脑,看看程序运行结果,处理结果,重新设置新条件;八点,看半个多小...
  • dhw6221263
  • dhw6221263
  • 2017年04月07日 09:35
  • 94

早上就看到区号

http://www.ssjit.com/
  • aerf6853
  • aerf6853
  • 2014年05月14日 17:05
  • 119

早上路遇大猪

今早在路上遇到了朋友大猪的车,很高兴,于是等红灯的时候(他的车在我后面)在车里手舞足蹈,老婆说我兴奋异常,有点过度了。感觉不过瘾,把车窗打开伸手出去挑了个大拇指,结果离得老远的一个在路上卖新京报的小伙...
  • huawy
  • huawy
  • 2005年09月28日 10:01
  • 741

看到的一段话,随便发发

别哭穷,因为没人会给你钱; 别喊累,因为没人会帮你做; 别想哭,因为大家不在乎; 别认输,因为没人希望你赢; 别靠人,因为只有自己最可靠; 别乞求,因为别人等着看笑话; 别落魄,因为一堆人...
  • sdl_ok
  • sdl_ok
  • 2015年01月08日 14:14
  • 297

从知乎上看到的一段话,记录下来

因为害怕自己并非明珠而不敢刻苦琢磨,又因为有几分相信自己是明珠,而不能与瓦砾碌碌为伍,遂逐渐远离世间,疏避人群,结果在内心不断地用愤懑和羞怒饲育着自己懦弱的自尊心。世上每个人都是驯兽师,而那匹野兽,就...
  • dxc1228
  • dxc1228
  • 2016年01月28日 13:06
  • 354
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:大早上看到的一段话
举报原因:
原因补充:

(最多只允许输入30个字)