本文转载自csdn博客,cj205
好像一直没有正正经经的写过一遍关于技术的博客,这些天一直有些感触,不知道是太轻视前端技术了,还是实在找不到门路。总是看到一些无语的需求。
前端技术也是技术,也有需求和解决方案。很多时候我们需要把客户的需求重新整理加工成用代码能实现的解决方案。之前有一哥们,用了近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操作。
七、用户体验的源泉
写一个功能的时候多想一点点吧。完成任务只是第一步,每次多想一点,然后想办法去做到。会让你的代码充满乐趣,让你的客户堆满笑容的。
分享到:
相关推荐
【正视项目组的技术“虚胖”】是一个关于团队中普遍存在的一种现象的讨论,即团队成员对于常用技术的理解仅停留在表面,缺乏深入理解和实践经验。这种现象可能导致在项目中出现质量问题,因为成员们往往依赖于复制...
HR想通过这个问题了解候选人是否能够正视自己的缺点和不足,是否能够积极地改正自己的缺点。 8. 你的职业规划是什么样的? 这个问题考察候选人的进取心和自我管理能力。HR想通过这个问题了解候选人的职业发展规划...
人教版初中道德与法治《正视发展挑战》说课稿.pdf
对于中国而言,发展和推广DPLC技术需要适应EMC和EMI相关的法律法规,严格控制引进的技术和产品的EMI影响。更重要的是,建立本土的DPLC研发机构和试验基地,加强理论和实验研究,这是确保DPLC技术健康发展并实现商业...
【标题】:“61正视发展挑战PPT.doc”是一个文档,通常用于呈现关于面对和解决发展中遇到问题的讨论或教学材料。这个标题暗示了内容可能涵盖了如何识别、理解和克服在个人、组织或社会层面的发展过程中所遇到的障碍...
6.1正视发展挑战(PPT36页).ppt
【正视自我评价和他人评价的差异】 在个人发展和职业道路上,自我评价与他人评价之间的差异是一个重要的议题。自我评价通常基于个人的内心感受、价值观和能力的认知,而他人评价则是外部世界对我们行为和特质的反馈...
在职业兴趣方面,如果你喜欢阅读、写作和运动,这表明你具备良好的学习和创新能力,适合从事需要创新思维和技术更新的电子技术领域。而你的优势,如做事认真、有毅力和全面思考问题的能力,将有助于你在解决问题和...
目的:本研究的目的是比较正视眼和屈光异常患者的CCT测量值。 方法:我们代表一项回顾性研究,该研究是在科索沃大学临床中心(UCCK)进行的。 本研究共纳入80例患者,分为两组:测试组和对照组。 平均年龄为(M = 25...
协同商务(Collaborative Commerce,简称CPC)是21世纪企业间商务...通过对"正视协同商务CPC应用分析点评.pptx"的深入理解和学习,我们可以全面了解CPC在数据仓库中的价值,为企业的信息化建设提供新的思路和实践方法。
作为求职者,你需要了解自己的兴趣和专长,选择最适合自己的方向。 在求职初期,如果你对技术方向不明确,可以通过参加面试来了解自己的专业水平。面试不仅可以检验你的技术能力,也能帮助你发现自己的不足,从而...
专业技术人员需要关注行业动态,了解未来可能的就业机会和职业发展的潜力。选择有增长前景的行业,可以为职业发展提供更为广阔的平台。 在实际操作中,职业定向还需要结合个人的生活目标和长期愿景。例如,有些人...
总结起来,电动汽车虽然拥有光明的前景,但在快速发展的同时,必须正视并解决续航能力、充电设施、产品质量、市场竞争力和技术路线选择等问题。只有这样,电动汽车才能真正颠覆传统汽车行业,实现可持续的绿色发展。
【正视店经理的角色和职责】在药品零售行业中,店经理扮演着至关重要的角色,他们的职责不仅限于日常运营,还包括塑造店面形象、提升顾客体验和制定差异化的竞争策略。店面是药店与顾客互动的首要界面,因此店经理...
九年级道德与法治6.1《正视发展挑战》教学设计.pdf
【正视压力】是本次南海中学分校高一(8)班班会的主题,旨在帮助学生理解和应对生活中的压力。班会的设计依据了心理学家拉萨鲁(Lazarus)和福克曼(Folkman)在1984年提出的压力应对三部曲:初级评估、次级评估和...
家长和学校应建立有效的沟通机制,共同了解学生的需求,制定个性化的教育计划,并提供必要的支持。家长的角色不仅仅是监督者,更应该是孩子的学习伙伴,共同参与孩子的成长过程。 最后,教师的专业发展对于应对学生...
这篇文档是关于九年级政治下册《正视现实压力》的教学设计,主要涵盖了我国的人口、资源和环境问题,旨在让学生理解和认识到这些问题的严重性,以及采取的相关国策和发展战略。以下是教学设计的关键知识点: 1. ...
现代教育技术在当今的教学活动中扮演着至关重要的角色,它的出现极...总的来说,现代教育技术在提高教学质量、满足个性化学习需求方面具有显著优势,但我们也需要正视并解决其带来的挑战,以实现教育的持续改进和优化。
多元化的教学方法和科学的评价体系让学生更全面地了解自己,提高学习动力。同时,体育教学也培养了学生的创新能力和对体育价值的深入理解,增强了他们的社会适应能力。 综上所述,学校体育教学改革不仅提升了教师的...