你该了解和你该正视的前端技术。

      好像一直没有正正经经的写过一遍关于技术的博客,这些天一直有些感触,不知道是太轻视前端技术了,还是实在找不到门路。总是看到一些无语的需求。

      前端技术也是技术,也有需求和解决方案。很多时候我们需要把客户的需求重新整理加工成用代码能实现的解决方案。之前有一哥们,用了近1000行js代码来完成一组安全验证,大致是这样的意思:

1、用户名不能为空、长度为6-12个字符、需要为字母数字下划线组成、不能以数字开头、至少要有1个字母和1个数字

2、密码必须大于8位、不能为空、必须要包含一个大写字母、小写字母、数字

3、确认密码同上同时不能和密码栏不同

4、邮箱必须正确,即得有一个@符号。且前后不能为空,不含特殊字符

...

当我看到那一个又一个的if/else之后我崩溃了。令我惊讶的是,代码运行的很好,没有一处有错误,可见作者的细心程度啊。可是现在需求变了。以上所有的问题要一次性的输出到ERRORMSG上面,以让客户了解那些地方有问题。了解到用了一个工作日,完成了修改和维护。可是代码看上去乱了些,起码嵌套、记号==多了太多。

      我很担心明天如果客户来了新的需求怎么办,毕竟他的登录页面还没有写呢。一个礼拜了,一直停在注册。在CSDN回答问题以来,几乎每天都能遇到充斥这样的代码,有时候我会干脆重新给他写一个符合其需求的代码,但是这不能让他意识到代码不是凑出来的。鉴于这点我想给一些新手或者是“老油条”们给出一下建议,希望能够方便大家效率的提高,最重要的是能够愉悦的工作。

 

一、谨慎对待外来代码

很多童鞋遇到一个新的功能点,第一反应就是找插件和类似功能DEMO,用一哥们的话说叫扣代码,这非坏事,别人的东西往往是封装好的、经过时间测试的。这样拿来即能用既节约项目时间又能减少自己写而出现的bug的可能。

但是我还是要提醒下大家,用的时候请谨慎对待,首先引用的代码且确保不要和其他代码冲突、注意代码文件的编码、不会产生副作用、和自己要的能够没有出入。其次代码最好易调试、易维护,用于工程中的代码可以压缩,但是自己最好保存好非压缩代码,以便维护,最后如果可能的话给这些代码的关键部位加上符合自己项目规范的注释。另外没有特别的原因请尊重作者,留下作者、版本号等信息。

 

二、不懂的代码该怎么办

分两种人,刨根问底类和不求甚解类

不求甚解类的往往遇到问题就会找答案,实在找不到了就问人,他不要求知道怎么回事,他只要找到一个符合其项目需要的代码。这类人往往赞同如下观点:30岁不进管理层就转行。其实不难想像,他们是进度唯一论,评价能力的唯一标准就是项目的进度。在一定时间的沉淀之后做上了项目经理的位置,实际上他们除了baidu、google的能力有所提高,其实和刚入行的同类人没有区别。并非贬低此类童鞋,而是他们对技术没有太多兴趣,这是他们的职业。中国的软件行业暂时离不开这样的人才。因为他们的重复性的效率很高,而现在很多公司需要的就是能做项目的人。所以如果时间允许的话为他们解决问题时不要带有太多指责等,人各有志。

刨根问底类的哥们并非都是让人欣慰的,因为总有个盲点期,这段时间里遇到一个东西就打破沙锅问到底,可问题是你问不是你掌握范围里的东西即使解释了也很难理解,所以有了《提问的智慧》。同时我建议打基础,这个时候你需要的不完全是看代码,更重要的是要打好基础。

 

三、不要眼高手低

以css和js来说,很多人掌握了理论和基础之后,就认为自己成了,所以他们满怀自信的说这说那,浏览器的差异、不同东西的组合产生的变化都不是看了两本书,几篇技术博客你就能掌握了。拿css说吧,很多时候一个页面的css按照标准完美的解决了之后,发现在IE6下变样了。经典的bug多出于ie6。(这里我提示下大家,不要随意hack。有时候hack是为了简单、方便,但是过度使用就会适得其反。)如果没有点经验来写页面多数会给1px的padding搞的头昏眼花。js更是灵活很多。长期不写代码的你少了个;或者var 得到了错误的结果你都不知道为什么。

 

四、不要小看了css

很多人没有系统的学习过css,但是也能很好的写出css。但是问题来了,他们的css在firebug下会看到很多删除线,为什么?重复了呗。本来这些没有什么问题,别人50行代码 你200行,这个影响不大,但是调试、维护、修改样式的时候你会怎么样,感觉代码只会越来越多,不敢删除之前的代码,为什么?怕哪里有出问题了。恶性循环来了。所以在写css的时候要学会用艺术的眼光的去看问题,更要用技术的眼光去对待。还有,写笔记,把遇到的问题,怎么 解决的记录下来。不是说网上找不到,而是你每次都动用google,你不觉得太不遵循DRY了嘛

 

五、javascript没那么玄乎

说js难的无外乎两种,一种是完全没有脚本语言基础的,一种是正在通往高手的路上。

我提些建议,希望大家能够有个良好的发展,少走些弯路

首先,看基础和理论,我一直强调这些,他不是项目必须的,但是是你学好js所必须的。很多人认为看完一本书不足,我觉得大可不必。基础教程有《javascript高级程序设计》《javascript权威指南》。这2本书选一本足矣,不要看完就扔一边去了,保证多翻翻,每次都有新收获的。

其次,看代码多练习,这个时候身边放着一本上面的书,然后开始做练习吧,去哪做?每天csdn会出那么多的“习题”,不是为了分,而是拿来做练习多好,遇到问题就查书,书上没的google、baidu去。这个时候很重要的是,写代码不要追求快,养成一个良好的习惯和规范

再次,这个时候需要做2件事了,看进阶教程和博客了,进阶书?《javascript语言精粹》《精通javascript》牛人的作品,都不厚,但是你需要做的是绝对认真的看,越慢的品越好。另外一件事就是开始review?review什么?你之前在csdn里答题的那些帖子呢,一个一个翻出来,然后用现在的眼光去修改代码,优化它,然后写博客或者是记笔记记录下来。

最后,总结,我不建议做大的总结,而是一个系列一个系列的总结,几本书摆在旁边,加之之前积累的经验和理解,开始总结。总结的目的是为下一个循环的做准备。当总结完了,你就知道你欠缺的地方在哪了,然后有针对性的练习和找博客看,然后自己去钻。

 

六、你知道html嘛?

说这个可能会被大家笑话,但是我想问下大家,有多少人知道table的rules和frame属性?有多少人会用label的for属性来提高用户体验。当我看到有事没事的就拿<a>来充当行内元素 用div来做块级元素的时候。我真想说,其实还有很多的标签更适合的.同样是列表元素,多数人都是用ul的,又有多少在合适的适合用dl呢。其实还有很多特性你还没挖掘完呢,一个规范的html能减少你好几行css和的dom操作。

 

七、用户体验的源泉

写一个功能的时候多想一点点吧。完成任务只是第一步,每次多想一点,然后想办法去做到。会让你的代码充满乐趣,让你的客户堆满笑容的。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值