内容简介:作为初入职场的我们,在学习与工作中,总是会遇到不同的挫折。虽然有些错误与某一个具体的行为相关,但有些错误却是所有Web开发人员都需要面对的挑战。因此,通过研究,体验和观察,总结了Web开发人员常犯的5个错误——以及如何避免这些错误分享给大家。错误:无论是JavaScript,还是在服务器上运行的代码,开发人员都需要测试并确认它是否可以正常工作,而不是在部署了之后,就认为它应该就能从一而终地运行。
作为初入职场的我们,在学习与工作中,总是会遇到不同的挫折。虽然有些错误与某一个具体的行为相关,但有些错误却是所有Web开发人员都需要面对的挑战。因此,通过研究,体验和观察,总结了Web开发人员常犯的5个错误——以及如何避免这些错误分享给大家。
错误一
转件所谓“应该能行”的代码
错误:无论是JavaScript,还是在服务器上运行的代码,开发人员都需要测试并确认它是否可以正常工作,而不是在部署了之后,就认为它应该就能从一而终地运行。
影响:不经过适当错误检查的网站就是对最终用户耍流氓。不仅会极大地影响用户体验,而且其错误消息内容的类型可能会给黑客线索来渗透这个站点。
如何避免:是人都会犯错,这个哲理同样适用于编码。使用JavaScript,一定要实施好的技术来防止并抓住错误。虽然这篇文章描绘了用JavaScript编码Windows应用程序,但是大部分的内容也适用于web开发,许多提示都很不错!另一种能让代码变得可靠又能在未来变化中存活下来的方法是单元测试。
如果我们够仔细,那么就能捕捉到服务器端的代码失败,而不被用户发现。只显示必要的信息,并且一定要确保设置友好的错误页面,如HTTP 404s。
错误二
写分叉代码
错误:本着支持所有浏览器和版本的崇高理念,开发人员立志创建可对任意可能情况作出回应的代码。代码中if语句成堆,所有方向都有分叉。
影响:随着浏览器新版本的更新,代码文件会变得越来越笨拙和难以管理。
如何避免:实现代码的功能检测和浏览器/版本检测。功能检测技术不仅可以显著减少代码量,还更易于阅读和管理。不妨考虑使用如Modernizr这样的库,不仅有助于功能检测,还能自动帮助提供不能跟上HTML5和CSS3速度的旧版浏览器的反馈支持。
错误三
非响应式设计
错误:假设开发/设计人员在相同尺寸的显示器上开发网站。
影响:当在移动设备或在非常大的屏幕查看网站时,用户体验要么很难看到页面的重要方面,要么甚至要时刻注意着不导航至其他网页。
如何避免:响应式的思维方式。在网站中使用响应式设计。这里有一些关于这方面的实用教程,包括响应式图片,还有一个非常受欢迎的库,那就是Bootstrap。
错误四
网站过多刷新
错误:创建的网站需要为每一个互动而全面刷新页面。
影响:类似于页面臃肿(参见#4),页面加载时间的性能会受到影响。用户体验缺乏流畅性,并且每次互动都可能导致网页短暂(或长时间)的复位。
如何避免:快速避免这种情况的一个方法就是,通过测定回发到服务器的内容是否是真正需要的。例如,当不依赖服务器端资源的时候,客户端脚本可用于提供直接结果。你也可以应用AJAX技术或进一步使用单页的应用程序“SPA”方法。流行的JavaScript库/框架,如JQuery、KnockoutJS和AngularJS,能让这些方法的采用变得容易得多。
错误五
做了太多的无用功
错误:开发人员花了很长的时间来创建web内容。大量的时间花在了重复的任务上,或者自己敲代码写了很多。
影响:初始网站的发布和后续的更新时间过于冗长。如果其他开发人员也在在做同样的工作,却用了更少的时间和精力,那么你的开发价值显然就低了。手动劳动很容易出现错误,而排除故障错误需要更多的时间。
如何避免:探索你的选择。在开发的每一个阶段考虑使用新的 工具 和新的流程技术。例如,你目前使用的代码编辑器相比SublimeText和Visual Studio,如何?不管你使用的是什么样的代码编辑器,你最近有好好钻研它的功能吗?也许只投入稍稍一点时间去仔细阅读文档,就可以发现做事的新方法,为今后节省一个又一个小时的时间。例如,在这篇文章中,扩展Visual Studio可以为web开发人员提高生产效率。
不要错过网上可用的帮助工具!例如,检查在dev.modern.ie上的工具以简化测试(跨多个平台和设备)以及排除故障。
你也可以通过实现流程自动化以减少时间和错误。这方面的例子是使用Grunt工具,例如它的自动化功能可以减小文件(见第4点)。另一个例子是Bower,可以协助管理库/框架。至于web服务器本身?在例如Microsoft Azure Web Apps的帮助下,你可以快速创建一个网站,几乎所有的开发场景都可以很轻轻松松地规模化到你的业务中!
最后结语
通过识别这些常见的错误,web开发人员可以避免很多让其他人饱受煎熬的挫折。我们不仅需要承认错误,还应该清楚错误的影响,并采取措施避免错误,这样才能有更好的开发表现——并有信心完成任务!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 我靠!Semaphore里面居然有这么一个大坑!
- 漫谈分布式系统(零):挖他个大坑
- 10 个内存引发的大坑,你能躲开几个?(一)
- 10 个内存引发的大坑,你能躲开几个?(二)
- 10 个内存引发的大坑,你能躲开几个?(三)
- JS大坑之19位数的Number型精度丢失问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
iOS应用逆向工程 第2版
沙梓社、吴航 / 机械工业出版社 / 2015-4-1 / 79.00
你是否曾因应用上线的第一天即遭破解而无奈苦恼,想要加以防范,却又束手无策? 你是否曾为某一应用深深折服,想要借鉴学习,却又无从下手? 你是否已不满足于public API,想要进军Cydia开发,却又求学无门? 你是否已产生“不识Apple真面目,只缘身在App Store中”的危机感,想要通过阅读来一窥这冰山一角外的整个北极,却又找不到合适的书? 你是否已经因无法跨越开发......一起来看看 《iOS应用逆向工程 第2版》 这本书的介绍吧!