喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

【村长请吃饭啊】 ---北京诚聘--- 【你还在犹豫吗?】

上一主题 下一主题
     
标题: [原创] WEB程序代码优化入手的几方面  
 
dzjzmj
中级会员
Rank: 3Rank: 3
老会员



UID 25675
精华 0
积分 359
帖子 554
金钱 359 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-1-9
来自 福建福州
状态 离线
WEB程序代码优化入手的几方面

原文:http://www.coderhome.net/zifa/?p=197
这里对web程序方面的优化作一个总结,虽然我用的是PHP其实不管理是什么语言方向都是一样的。

1.编码规范化可读性优化

编码规范我想一般程序员不会不了解,如果你这方面是空白你应该好好补补基础了,做到编码规范是一个好的程序员的最基础要求,一个团队也应该有自己的编码规范。所以程序的优化也应该包含到这个方面,在你开发程序的过程中可能会有些遗漏,所以在我们进行编码规范化可读性优化是很有必要的。其实一份再好的程序代码若干年后你自己都未必能看的懂更不用说别人来看你的代码,使你自己写出的代码有更好的可读性,这个是一个好的程序员应该做的,并且是对一个团队和你自己作品的责任感。

优化方向就是使你的代码更清析更易懂。

2.程序效率、流程逻辑优化

程序效率的优化是最重要的,程序运行速度是程序代码好坏最重要的因素,程序逻辑其实就是你的解决思路,解决思路并不是唯一的,所以我们可以对它进行优化。逻辑的设计也和可读性有一定的关系,逻辑清晰可读性就更强。

优化的方向就很明确了提高速度,清晰逻辑。简单的逻辑并不代表一定是速度快,复杂的逻辑并不一定是慢的。所以在这两方面是关联。

3.SQL优化,减少查询次数

在使用数据库的程序中我们知道数据库的查询是在整个程序执行中占很大比例的,所以SQL的优化是非常重要的。

优化的方向一方面是SQL语句本身的优化,熟悉SQL的人应该会知道,不同的SQL写法执行的效率差别是很大的,如:尽量不对字段加函数操作,更多的大家可以去查找高效SQL这方面的资料。第二在一个页面中减少查询次数,这个道理很清楚,我们可以把整个页面的SQL都输出来进行分析,是否可以合并语句,是否可以做冗余字段等等,尽量减少SQL的查询次数,坚绝不在循环中使用查询。

4.缓存优化

缓存优化其实就是对上一点的补充,但缓存优化是很重要的,所以可以单独列为一点。缓存的数据主要就是从数据库中读取出来的。对缓存的一些介绍: http://www.coderhome.net/zifa/?p=195,当然缓存也应该适当,应该只把需要缓存的数据进行缓存。

5.html,css,js文件优化,减少冗余代码

这一点与服务端程序没有关系,主要是与浏览器相关的几方面。html的结构是会影响到浏览器的解析,所以好的html代码也会影响访问速度。相比之下客户端的代码就不允许有一点无用的东西存在,能把文件减少一K就应该减少。js虽然是在客户端执行但也应该去考虑它的效率问题,网络上也有这方面的文章介绍。

6.可用性优化

可用性优化主要指的是UED方面的,并不是每一个团队都有专门的UED,作为web程序的开发人员也应该有这方面的意识,去了解用户,而不是埋头写代码。努力使你开发的页面对用户更友好,更容易使用。

7.框架架构优化

如果有使用到开发框架,也应该考虑到对框架的优化,减少框架本身占用的资源。

其它:服务器架构优化、数据库优化

这些方面和程序开发没有直接关系,但和web程序的运行也是关系密切的,所以顺便提一提。




PHP代码教程,一个留言本引发的教程http://coderhome.net/
2008-2-19 07:09 PM#1
查看资料  访问主页  发短消息  QQ  顶部
 
zm6931
新手上路
Rank: 1


UID 70097
精华 0
积分 48
帖子 32
金钱 48 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-3-22
状态 离线
[推荐阅读] PHP开发工程师2、系统维护工程师1
hehe,怎么没人顶,我觉得不错。
2008-3-12 05:06 PM#2
查看资料  Blog  发短消息  顶部
 
gaoshikao
新手上路
Rank: 1



UID 82076
精华 0
积分 25
帖子 20
金钱 25 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-10-24
状态 离线
[推荐阅读] domdocument问题
恩 优化是很重要的.
以前我做的一个单子,是给一个医院做的病历收集分析系统,就是把word文档上传上去填写病历.一个病历的字符数是相当多的.当时偷懒,执行sql语句的时候直接用select * ,结果最后调取的数据多了,页面直接打不开,意思就是不必要的信息不要提取,这个就是sql优化.
关于在循环中不使用查询语句,我觉得也挺重要的,我认为比较好的做法是,先提取所有作为缓存,然后对缓存变量进行操作.
对于网页优化,我觉得很必要.我一般建站都采用div+css,不用dreamwear,用editplus.
http://www.xa-seo.com.cn  西安鸿亿网络,网站优化,网站建设,网站推广
2008-3-13 02:35 PM#3
查看资料  发短消息  顶部
 
scf2
注册会员
Rank: 2
中级会员



UID 19294
精华 0
积分 195
帖子 210
金钱 195 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2003-4-1
来自 重庆人在深圳
状态 离线
[推荐阅读] 请问一个js框架传值的问题
写得相当不错



傲客网,找你想要的......
http://oklrc.com
2008-3-14 09:15 PM#4
查看资料  访问主页  发短消息  QQ  顶部
 
冰雪风谷
新手上路
Rank: 1



UID 97851
精华 0
积分 25
帖子 24
金钱 25 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-9-1
状态 离线
[推荐阅读] 我用phpcms构建的站,自己加入了交友、信息竞价牌名等模块,增强了会员功能。


QUOTE:
原帖由 gaoshikao 于 2008-3-13 02:35 PM 发表
我一般建站都采用div+css,不用dreamwear,用editplus.
这句话不太懂.
不知道是我没水平,还是这人没水平.

不用dreamwear,可以达到网页优化吗?网页优化是一个什么概念呢.

真没弄明白.
2008-3-16 11:22 PM#5
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.026578 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP