深圳易捷网络科技注册咨询网-jiujiuya.com.cn 返回首页

Web开发中的18个关键性错误

信息来源:深圳市易捷网络科技有限公司
信息发布时间:2018-9-25 14:57:55
英文原文:18CriticalOversightsinWebDevelopment
前几年,我有机会能参与一些有趣的项目,并且独立完成开发、升级、重构以及新功能的开发等工作。
本文总结了一些PHP程序员在Web开发中经常忽略的关键错误,尤其是在处理中大型的项目上问题更为突出。典型的错误表现在不能很好区分各种开发环境和没有使用缓存和备份等。
下面以PHP为例,但是其核心思想对每一个Web程序员都是适用的。
应用程序级别的错误
1、在开发阶段关闭了错误报告
 我唯一想问的是:为什么?为什么在开发的时候要关闭错误报告?
PHP有很多级别的错误报告,在开发阶段我们必须将它们全部开启。
如果你觉得错误不会发生,那么你把程序太理想化了,在现实世界中,错误是必然的。error_reporting和display_error是两个完全不同的方法,error_reporting()设置了错误的级别,而display_errors则是设置错误信息是否要被输出。
在开发阶段,错误报告的级别应该设置成最高的,比如以下设置:error_reporting(E_ALL);以及ini_set(‘display_errors’,true);
2、淹没错误
和上一点相反,很多程序员喜欢将错误淹没了,你明知道错误会发生,但是你选择将错误隐藏掉,然后可以早早回家睡大觉,殊不知将来会发生更严重的错误。
3、代码中任何地方都没有使用日志
软件开发的一开始你就要牢记使用日志,不能到项目结束了才去弥补日志功能。很多程序员都会用这样或那样的手段进行日志记录,但是很少有人能真正用日志来记录异常信息,试问一个没有人查看的日志系统有什么用?
4、没有使用缓存
在的应用系统中,我们可以在多个系统层次上使用缓存,比如在服务端、应用端和数据库端等。和日志一样,缓存也应该在一开始就应用到系统中去,你可以在开发阶段禁用缓存,等到了产品发布后再将缓存开启。
5、丢弃了最佳实践和设计模式
你看到过多少人使用自己的密码加密算法?很遗憾的告诉你,有很多,因为他们认为将更了解它。
最好的实践方式和设计模式已经由前辈创建了,这往往比你自己再造一个轮子要来的简单奏效,我们开发者只需要熟练掌握这些设计模式并且合理地应用在项目中即可,比如一些加密算法。
6、没有使用自动化测试
在每一个Web项目中都会使用到测试,就像日志一样,如果没有人管理和使用,那么测试也是一无是处的。
运行测试工程是一项枯燥乏味的工作,幸好有一系列工具帮助我们实现自动化测试。在PHP开发中,有一款很好的测试工具叫Jenkins,使用起来非常方便。
7、没有做代码审查
在团队中工作是一项非常大的挑战,因为每一个成员都有自己不同的工作习惯和方式,如果没有良好的规范,那么项目开发就会走很多弯路。
团队中的每一个成员都应该互相审查代码,就像单元测试,它可以帮助项目变得更加干净和一致性。
8、编程只考虑理想情况
你是否遇到过自己或者别人的代码在交到客户手中后经常出问题,甚至是乱套了?我当然没有。
出现这种情况往往是因为开发者懒惰了,只考虑了理想情况,这会导致数据库崩溃了、PHP发生致命错误、甚至是服务器被黑。程序员在写代码时不仅要考虑最理想的情况,更要考虑最坏的情况,思考全面,才能让代码覆盖所有的情况。
9、没有正确运用面向对象编程的思想
大部分PHP初学者都不会再其代码中运用面向对象的思想,因为这个概念在刚开始的时候很难理解。
当然面向对象的概念并不是简单地将一些类组织在一起。
对象、属性、方法、继承和封装等都是OOP中最基本的概念,开发者正确使用了面向对象设计模式后,就有能力写出更干净、更有扩展性的代码了。
10、“飞行模式”(On-the-fly)编程
大部分开发者都会遇到这样的情况:“快,客户需要一项新功能,要能运行ASAP”,于是你就在源代码上新增一些功能,然后直接上传到正在运行的服务器上,这种编程方式我们称其为“飞行模式”(On-the-fly)编程。
我们在开发软件时,尤其是中大型的项目,都必须按照工作流程来进行分析、编程和发布,这将大大减少未来软件的bug。这种“飞行模式”并不可取。
数据库级别的错误
11、没有将数据库读写分离
为了能长时间运行复杂的系统,每一个程序员都应该考虑到系统的可扩展性,系统99%的时间都不需要考虑扩展,因为并没有如此大的流量。
为什么要数据库读写分离?
在每一个系统中,数据库将会是第一个出现的瓶颈,在大流量的冲击下,数据库很可能将会是第一个阵亡的。所以大部分情况下我们会用多个数据库来分散流量,开发者经常会使用Master–Slave模式或者Master–Master模式。Master–Slave是最受欢迎的一种数据库分压模式,它会将指定的select语句路由到每一个Slave服务器,这样Master服务器的压力会减轻不少。
12、代码只能连接到一个数据库
这和上一个错误非常像,但是开发者有时候因为某些原因需要连接到多个数据库,比如你会将用户日志、活动信息流、实时数据分析等高负载的数据放到不同的数据库中来缓解对主数据库的压力。
13、没有检测数据库漏洞
如果你不对数据库进行漏洞检测,就相当于给大部分黑客敞开了服务器的大门。
在众多漏洞中,数据库漏洞是最脆弱的,最常见的就是SQL注入。因此定期做数据库漏洞检测还是很有必要的。
14、数据表不建索引
索引在数据表中有着非常重要的作用,合适的索引可以提高每张表的性能,这里有一篇文章就讲述了如何创建索引以及何时创建索引。
15、没有使用事务机制
数据完整性对Web系统非常重要,如果数据一致性发生错误,那么整个系统都会崩溃并且难以修复。合理地运用数据库的事务机制将有效地解决这个问题。比如你要保存用户数据,在table1中有e-mail,username和password,table2中有firstname,lastname,和genderage。我们可以利用事务对两张表更新时保证数据同时被更新或者同时不被更新。
16、没有加密敏感数据
对于数据库中的敏感信息,如果你不对它们进行加密,或者用简单的算法进行加密,那么在2014年你肯定会遇到一些麻烦的问题,黑客们一旦入侵你的数据库,用户的密码或者其他重要信息就会一览无余。
PHP5.5中提供了一个哈希加密方法,使用如下:
$hash=password_hash($password,PASSWORD_BCRYPT);
17、没有备份
看到下面这张图片没,如果遇到这样的情况,你又没有备份,那么一切都over了。
18、没有监控
没有监控,你将不知道接下来会发生什么事情,对于监控,要注意以下几个问题:
?有多少人可以直接访问这个应用服务?
?服务器是否在高负载下运行?
?我们需要用另一台数据库服务器来扩展系统吗?
?应用系统的失败点在哪里?
?系统目前正处于离线状态吗?
企业网站建设常见问题

相关行业资讯

1、网站建设过程中应该注重哪方面
2、浅析网站优化的主要优化方式!
3、网站建设误区:关于模板、自助与定制网站
4、网站SEO优化专员必须具备的能力
5、404页面对于SEO优化的重要性
6、网站制作想要成功必须要避免的几个误区
7、手机网站建设红木家具企业网站建设现状
8、推广专员们:没有偷工减料只有脚踏实地
9、百度再次声明:世上本没有百度pagerank和权重
10、在网站建设中使用单页面设计的优势是什么
11、网页关键词优化小窍门
12、网站SEO优化判定网站关键词优化难易程度定价技巧
13、定制网站建设流程有哪些
14、企业如何应用营销策略经营营销型网站建设
15、网站在导航方面应注意哪些问题?
16、企业做网站网页版式同字结构
17、新手怎么学习推广优化
18、事件营销典范:服装厂商拿乔布斯象征性的圆领衫做文章
19、中小企业网站内页优化有什么方法?
20、高效完成企业网站运营指标的九个步骤
21、深圳高端网站建设——WAP手机网站如何制作
22、一些关于网站优化的问题
23、企业建网站网页设计视觉元素功能与审美分析
24、新网站应该如何进行网站规划设计?
25、网站seo优化首页关键词该如何写?
26、推广优化的根本和搜索引擎优化道德
27、HTML5定稿了,为什么原生App世界将被颠覆
28、易捷网络叫你什么是响应式网站
29、深圳建站公司:适用于移动应用程序设计师的6个免费UI工具包
30、建设手机网站需要规避的几个误区
31、网络整合营销传播的修正
32、企业网站在做关键词研究的2个有效方法
33、深圳做网站制作过程中会出现哪些问题
34、定制网站建设的好处有哪些
35、建设手机网站时需要考虑什么
36、不利于网站优化的因素
37、新手学好推广优化必须具备的道
38、商城网站建设之完整推广优化方案
39、美女CEO教你如何成功的运营一个在线社区
40、网站现状分析-深圳网站建设公司
41、的流程及步骤
42、网站在模块结构上需要那些功能
43、网站流量提升技巧
44、如何识别好的网站建设公司
45、筛选机制主导网站内容收录
46、竞价排名需要注意哪些
47、网站建设价格差异大到底是什么原因的呢
48、关于如何使用网页中的面包屑
49、软文写作中需要注意的事项
50、利用站内原创文章提高网站用户体验

相关视频推荐

自动化行业网站制作焊锡机/点胶机/螺丝机网站
企业网站制作新模式全部仅需800元/年
如何提高企叫网站打开速度
公司网站到期了该怎小续费
企业为什么必须要做一网站
企业网站的导航栏一般要规划哪些栏目
国际物流FBA物流网站建设深圳易捷网站公司公司
银制品金银器网站建设深圳易捷网站公司
包装印刷行业网站设计
膜结构公司网站设计
工商财务公司网站设计
购买一个域名需要多少钱
企业网站建设云虚拟主机需要多少钱
财务公言的网站怎么做才能显示在搜索引擎的首页
网站建设一站式服务
深圳网站建设公司网站排行榜
深圳市易捷网络科技有限公司版权所有     粤ICP备2022153140号
best smoke alarms australia |  vape detectors