每个程序员都应该了解的知识有哪些?(一)
作者:网络转载 发布时间:[ 2014/1/24 14:31:31 ] 推荐标签:开发 程序员 用户体验
以下内容来自于Stack Overflow的一个问答中,此问题的答案整理的非常的详细,且颇具启发性,整理出来和大家一起分享。由于英语不是很好,如果自身英语成绩比较好的,可以看原文。
问题:那些技术细节是需要程序员把站点开发给公众之前考虑的?像Jeff Atwood(Stack Overflow创始人)这样的都可以忘了使用HttpOnly cookies, sitemaps和cross-site request forgeries,还有哪些可能被遗忘的重要内容?
答案:从一个Web开发者的角度来看,网站的可用性和内容相比平台的稳定性、性能、安全或者被搜索引擎收录更加重要,开发人员需要保证的是做出来的网站不要太烂。以下是一些应该注意的点。
界面和用户体验
1、注意浏览器的实现标准上的不一致,确信让你的网站能够适当地跨浏览器。至少,你的网站需要测试一下下面的浏览器:
新的 Gecko 引擎 (Firefox),
一个 Webkit 引擎 (Safari, Chrome, 或是其它的移动设备上的浏览器)
IE 浏览器 (测试IE的兼容性你可以使用微软IE的 Application Compatibility VPC Images)
Opera 浏览器。
后,你可以使用一下这个工具 来看看你的网页在不同的浏览器下是怎么被显示出来的(陈皓注:这个工具是以前本站介绍过的在不同浏览器和平台上检查你的网站的兼容性)
2、除了浏览器,网站还有其他使用方式:手机、屏幕朗读器、搜索引擎等等。你应该知道在这些情况下,你的网站的运行状况。例如:一些Accessibility的东西: WAI 和 Section508。移动设备开发:MobiForge。
3、知道如何在基本不影响用户使用的情况下升级网站。通常来说,你必须有版本控制系统(CVS、Subversion、Git等等)和数据备份机制(backup)。 Ed Lucas的答案 可以让你了解一些(陈皓注:Ed说了一些如版本控制,自动化build(Ant, NAnt等), ,备份,回滚等机制)
4、千万不要直接给用户显示不友好的错误信息。
5、千万不要把用户的邮件地址以明文显示出来,这样会被爬虫爬走并被让用户的邮箱被垃圾邮件搞死。
6、为用户的链接加上 rel="nofollow" 的属性以 避免垃圾网站的干扰。(nofollow是HTML的一个属性,用于通知搜索引擎“这个链接所指向的网页非我所能控制,对其内容不予置评”,或者简单地说,该链接不是对目标网站或网页的“投票”,这样搜索引擎不会再访问这个链接。这个是用来减少一些特定垃圾页面对原网站的影响,从而可以改善搜索结果的质量,并且防止垃圾链接的蔓延。)
7、为网站建立一些的限制 - 这个属于安全性的范畴。(比如你在Google注册邮箱时,你一口气注册超过两个以上的邮箱,gmail要求给你发短信或是给你打电话认证,比如Discuz论坛的会限制你发贴或是搜索的间隔时间等等,更多的网站会用CAPTCHA来确认是人为的操作。 这些限制都是为了防止垃圾和恶意攻击)
8、学习如何做 Progressive Enhancement. (Progressive Enhancement是一个Web Design的理念,如:
1)基础的内容和功能应该可以被所有的浏览器存取,
2)页面布局的应该使用外部的CSS链接,
3)Javascript也应该是外部链接还应该是 unobtrusive 的,
4)应该让用户可以设置他们的偏好)
9、如果POST成功,要在POST方法后重定向网址,这样可以阻止用户通过刷新页面重复提交。
10、严重关注Accessibility。因为这是法律上的需求(Section 508是美国的508法案,其是美国劳工复健法的改进,它是一部联邦法律,这个法律要求所有技术要考虑到残障人士的应用,如果某个大众信息传播网站,如果某些用户群体(如残疾人)浏览该网站获取信息时,如果他们无法正常获得所期望的信息(如无法正常浏览),那可以依据相关法规,可以对该网站依法起诉)。 WAI-ARIA 为这方面的事提供很不错的资源。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11