JS程序员应备7个素质

怎么样算是JavaScript专家的人,终究需要一些什么技术,每天究竟需要做一些什么事,怎么判断哪些是天才,哪些是菜鸟,哪些是一般人,一张清单告诉你:
1. 你需要知道HTML,你需要非常精通它 。你需要知道 document types的作用和效果 。你需要知道即使你没有写TBODY,浏览器也会自动将他补上 。你需要关注浏览器每一次升级所做的变动 。学习这些东西,至少在这儿你得这样 。在你工作的时侯花点时间去研究下 。
2. 你需要了解CSS, 这样你才不至于后悔 。在切图工作期间碰到的最多的问题就是跨浏览器的CSS兼容问题 。一段同样的样式在不同浏览器中显示是不一样的 。你添加了一个负的margin-top值去实现排版,猜猜怎么了? 用户永远也点不到这个东西了,尽管你加了一个z-index,尽管你可以看见这个该死的东西 。或者你加了一组可以自动适应的CSS代码,但你要祈祷你的老板没有在IE里去看你的网页 。最重要的一点,你要了解CSS,这是最有价值的一项技术 。你不需要非常精通,但至少能和草图做得一模一样,否则其他的事就不用提了 。
3. 你需要了解浏览器,你需要明白在IE浏览器中,如果你把 “” 放到DIV中,IE不会把它转换为DOM元素 。但放到header里就可以,因为这东西是只读的 。你需要明白在Array数组和Object最后加个逗号会让IE出错 。你需要明白IE里iframes里的元素会有偏移问题 。而且并不是只有IE会出问题,Firefox在清除浮动时也会出问题 , Chrome里没事 。你需要了解最新的webkit那些惊人的特性在手机和safari上面不一定有 。
4. 提过JavaScript吗?我们需要了解JavaScript是怎样工作的通过浏览器不让显示js,你需要知道传入方法(function)的参数(arguments)对象是有长度的,而且是可以枚举的, 但它绝不是数组对象,更进一步 , 你需要知道如何将他转换为数组 。你需要知道prototype的工作机制 , 并且知道在不借助框架的情况下如何使用它 , 并且知道它的作用和优势是什么 。你需要知道垃圾回收(garbage collect)什么时侯起作用通过浏览器不让显示js,这点很重要,还有它什么时侯不工作 。你需要非常善长抽象(abstraction) 。你需要非常善于为你自己和别人设计API 。你需要了解怎样测试和管理你的代码 。

JS程序员应备7个素质

文章插图
5. 你需要有像样的设计能力(design): 信息流,图像设计,用户体验设计, 代码设计 。你需要能向用户, 客户, 陌生人, 专家(随便什么人)提出正确的问题并有能力去解决他们的问题 。不仅是讲出你的想法,你还要想办法去呈现给他们 。你需要能操作Illustrator快速地把各种框架草图(wireframes)拼出一个方案来,然后你可以到PhotShop中(这个你需要熟练掌握)把设计图画出来(visual style) 。你不需要成为世界上最好的设计师 , 当然也不是 。但你要有能力告诉他们什么是好的 , 什么是坏 , 什么是杰出的设计 。如果你能管理好你自己好的设计,你就牛了 。
6. 你需要对服务器端非常自信 。其实你并不是每天都只是写写JavaScript 。大多数前端工作都只需要你花一半的时间来写JavaScript , 另外一些时间你需要处理一些其它相关语言的代码. Python, Ruby, Java, PHP.. 如果你只会一种语言,那根本不值一提 。如果你只会JavaScript和PHP, 你马上会有一些需要用到其他语言的任务(其实这是一个很好学习新事物的机会) 。应该会用一种框架,但是只知道一种的话也不算真正的了解JavaScript.
7. 然后还有许多其他的东西你需要掌握 。你需要了解Git 。Git很牛 , 我知道你经常听别人这样说 , 如果你发现一个保守的人拒绝去学新的知识扩展自己,你需要让他明白他的错误 。你需要知道一些shell脚本 。在没有记事本,TextMate或其他编辑器的情况下,你需要能够打开VI或者Emacs去修改一个配置文件(conf) 。你需要知道怎么去编绎一些东西,怎么样去截取一个日志文件,解压一个压缩包(tarball),加密一些东西,开启并配置服务 。你需要有能力去关掉(kill)进程并跟踪调试一个堆栈 。
【JS程序员应备7个素质】本文到此结束,希望对大家有所帮助!

猜你喜欢