kwklover

关注搜索引擎技术,地方互联网

最近的一些编程体会(未完)

1,要考虑和优化数据库物理模式实现
    从数据库概念模式转换到数据库物理模式时,不应该完全信赖PowerDesigner等工具自动转换功能,而更应该从业务需求所对应的数据操作来综合考虑物理模式中,数据库的文件I/O存储,表设计所遵循的范式,设计字段的应该考虑的数据类型,数据操作应该考虑的索引,以及为实施数据库完整性而做的各种约束等,数据库的数据完整是不应该依赖于程序的业务规则,而应该数据库内部实现自己的满足业务需求的一套完整性约束,最近回头看了以前做的项目的数据库设计,在数据库关系图中,各个表之间竟然是没有任何关系的 ?除了主键约束,default选项外基本就没有别的约束了,我不知道这样的数据库设计到底有多靠 ?

2,不要掉入缓存陷阱
   在程序中,提高程序性能的方法很大程度上和缓存有关系,起码我以前写程序都是大面积使用缓存的,理由就是数据库连接资源是宝贵的,把内存当成无限的资源了,忽略了其他的所有问题,比如在访问量很大的时候,频繁出现OutOfMemoryException异常或者IIS频繁启动对内存进行回收进程等问题,自从我写了 "" 后,我对使用缓存的态度只有两个字:谨慎

3,预编译ASP.NET所有文件
  ASP.NET应用程序在初次访问时需要执行一次编译过程,在这个过程当中,需要比较多的资源,在这种情况下服务器很容易出问题,象服务器,IIS重起等, AspNetCompiler 可以把所有程序文件编译进程序集,对程序部署和运行性能有一定作用,可以考虑使用

4,合理的异常处理。
  相对底层的代码可以包装异常,但不可以直接处理掉,应该以合适的方式再抛出。对异常进行记录和提供友好界面应该属于系统行为而不是出现异常所在function或者function调用者的行为。但是function调用者可以根据需要多异常多处理。

5,开发没有套路。
  Community Server,.Text,duwamish7 ,petshop等都属于很优秀的开源项目,值得大家深入研究和学习,也更应该把学习到的思想应用到自己项目开发中。但是需要警惕思维陷入这些项目所设定的框框中。因为你会发现他们都很相似。我就见过有人把一个很简单的网站按照asp.net forums论坛的开发方式来开发。应该可以想象到,他们会有多惨吧? :(

6,不闭门造车,防止“过度引进”
   在我们开发中,应该多使用优秀的开源项目,不要什么都自己来写一套。比如日志记录,可以用log4net,生成rss可以用rss.net,搜索可以用dotlucene等等。但是如果你的项目用了N多开源项目,那就应该反问。我们的团队都熟悉这些开源项目吗?风险在那?

 

有用的连接:

编写高性能 Web 应用程序的 10 个技巧

阅读更多
个人分类: 我的随笔
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

最近的一些编程体会(未完)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭