来源: 最后更新:22-04-02 02:34:57
说到开发一个运行在现代网络中的网站:Web开发人员需要选择虚拟主机平台和底层数据存储,准备编写HTML、CSS和JavaScript用的工具,要有设计执行方式,以及一些可用的JavaScript库/框架。在将任务分解为这几步之后,接下来要做的就简单多了,可以去网上找文章,浏览论坛,看看那些能提供更好的Web体验提示的示例。
然而不管是走哪条路,犯错却是每一个开发人员都不可避免的。虽然有些错误与某一个具体的行为相关,但有些错误却是所有Web开发人员都需要面对的挑战。因此,通过研究,体验和观察,我总结了Web开发人员常犯的错误以及如何避免这些错误。
一、写一些过时的HTML
错误:早期的互联网比起我们现在,标记的选择要少得多。然而,旧习难改,现在很多开发人员写的HTML就好像还身处20世纪一样。举例来说,我们使用元素用于布局,当其他特定语义标签更适合的时候使用或元素,在当前HTML标准不受支持的时候使用或标签,在页面上间隔项目,如果有大量 字符实体的话。
影响:遵从这种过时的HTML规则可能会导致标记过于复杂,结果是在不同的浏览器中发生不同的行为。而且没有了改进浏览器的动力,因为没有必要更新到最新的浏览器,
如何避免:停止使用元素用于内容布局,限制使用元素来显示表格数据。例如可以去whatwg.org了解当前可用的标记选项。使用HTML去描述内容是什么,而不是说明内容如何展现。
二、“明明在我的浏览器中是可行的……”
错误:开发人员往往会偏爱某一个特定的浏览器,或者特别讨厌某一个,可能主要是因为对测试网页视图有所偏见。也有可能是因为从网上找到的代码示例不能保证会如何呈现在其他浏览器中。此外,一些浏览器对风格有不同的默认值。
影响:以某一个浏览器为中心写的网站,在其他浏览器中显示时,其质量将会很差。
如何避免:在开发过程中,在所有浏览器和版本中测试网页是不切实际的。不过,每隔一段时间,在多个浏览器中检查网站的样子不失为一个好方法。现在,不管你偏好的是什么平台,总有免费的工具可用:免费的虚拟机、网站扫描仪。当涉及到CSS设计时,可以参考在meyerweb.com中所示的那样“重置”所有的默认值。
三、不好的格式
错误:提示用户提供信息,并假设数据会如预期接收。
影响:很多事情会出错,当我们信任用户输入的时候。如果无法提供所需的数据,或接收到的数据不能与下面的数据模式兼容,页面可能会失败。更为严重的是,有的用户可能会故意违背网站的数据库。
如何避免:你首先要做的事是确保用户清楚你需要什么类型的数据。比如说,如果你只说要地址,那用户不知道指的是单位,家庭还是电子邮件的地址!除了要具体,还要充分利用现在的HTML提供的数据验证技术。不管数据在浏览器端是如何验证的,确保它始终也在服务器端验证。不要让一个串接的T-SQL语句使用来自于用户输入的,各个字段的类型没有经过确认的数据。
四、臃肿的响应结果
错误:页面充满了许多高品质的图形和/或图片,这些图形和/或图片借助img元素的高度和宽度属性按比例缩小。
影响:完全渲染页面的时间是如此之久,以致于一些用户放弃了,或者甚至于直接不耐烦地重新请求整个页面。在某些情况下,如果页面处理等待太久,会出现错误。
如何避免:不要抱有现在互联网接入越来越快的侥幸心态——从而允许臃肿的场景。相反,要将从浏览器到你的网站的来回当为一种成本。图像是网页臃肿的主要罪犯
五、创建所谓“应该能行”的代码
错误:无论是JavaScript,还是在服务器上运行的代码,开发人员都需要测试并确认它是否可以正常工作,而不是在部署了之后,就认为它应该就能从一而终地运行。
影响:不经过适当错误检查的网站就是对最终用户耍流氓。不仅会极大地影响用户体验,而且其错误消息内容的类型可能会给黑客线索来渗透这个站点。
如何避免:是人都会犯错,这个哲理同样适用于编码。使用JavaScript,一定要实施好的技术来防止并抓住错误。虽然这篇文章描绘了用JavaScript编码Windows应用程序,但是大部分的内容也适用于web开发,许多提示都很不错!另一种能让代码变得可靠又能在未来变化中存活下来的方法是单元测试。
如果我们够仔细,那么就能捕捉到服务器端的代码失败,而不被用户发现。只显示必要的信息,并且一定要确保设置友好的错误页面,如HTTP 404s。
六、写分叉代码
错误:本着支持所有浏览器和版本的崇高理念,开发人员立志创建可对任意可能情况作出回应的代码。代码中if语句成堆,所有方向都有分叉。
影响:随着浏览器新版本的更新,代码文件会变得越来越笨拙和难以管理。
如何避免:实现代码的功能检测和浏览器/版本检测。功能检测技术不仅可以显著减少代码量,还更易于阅读和管理。
七、非响应式设计
错误:假设开发/设计人员在相同尺寸的显示器上开发网站。
影响:当在移动设备或在非常大的屏幕查看网站时,用户体验要么很难看到页面的重要方面,要么甚至要时刻注意着不导航至其他网页。
如何避免:响应式的思维方式。在网站中使用响应式设计。这里有一些关于这方面的实用教程,包括响应式图片,还有一个非常受欢迎的库,那就是Bootstrap。
八、制作无意义的页面
错误:制作面向公众内容的网页才是有用的,绝不能不提供关于搜索引擎的任何线索。没有实现可访问性功能。
影响:如果不能让搜索引擎发现网页,那么,可能会只有少量或根本没有访问。
如何避免:使用SEO和HTML的支持可访问性。关于SEO,一定要添加标签以提供有意义的网页关键字和描述。 About Tech就写得很好,可以借鉴。为了能有更好的可访问性功能体验,请对每一个img和area标签提供一个alt="your image description" 属性。
九、网站过多刷新
错误:创建的网站需要为每一个互动而全面刷新页面。
影响:类似于页面臃肿,页面加载时间的性能会受到影响。用户体验缺乏流畅性,并且每次互动都可能导致网页短暂(或长时间)的复位。
如何避免:快速避免这种情况的一个方法就是,通过测定回发到服务器的内容是否是真正需要的。例如,当不依赖服务器端资源的时候,客户端脚本可用于提供直接结果。你也可以应用AJAX技术或进一步使用单页的应用程序“SPA”方法。流行的JavaScript库/框架。
十、做了太多的无用功
错误:开发人员花了很长的时间来创建web内容。大量的时间花在了重复的任务上,或者自己敲代码写了很多。
影响:初始网站的发布和后续的更新时间过于冗长。如果其他开发人员也在在做同样的工作,却用了更少的时间和精力,那么你的开发价值显然就低了。手动劳动很容易出现错误,而排除故障错误需要更多的时间。
如何避免:探索你的选择。在开发的每一个阶段考虑使用新的工具和新的流程技术。不管你使用的是什么样的代码编辑器,你最近有好好钻研它的功能吗?也许只投入稍稍一点时间去仔细阅读文档,就可以发现做事的新方法,为今后节省一个又一个小时的时间。
你也可以通过实现流程自动化以减少时间和错误。这方面的例子是使用Grunt工具,例如它的自动化功能可以减小文件。另一个例子是Bower,可以协助管理库/框架。
总结
通过识别这些常见的错误,web开发人员可以避免很多让其他人饱受煎熬的挫折。我们不仅需要承认错误,还应该清楚错误的影响,并采取措施避免错误,这样才能有更好的开发表现——并有信心完成任务!
kindle(kindle导入电子书)竟然有大屏彩色墨水屏阅读器了?哪家公司做的?实际体验如何?想必你会
新冠病毒抗体检测有什么用(新冠病毒抗体检测什么意思) 南通成品油价格调整公告(南通汽油价格调整最新消息) 2023汝阳县元宵节焰火晚会推迟举办通告 潍坊市奎文区新华医院入园体检咨询电话