墙上装饰相框:Web前端研发工程师编程能力飞升之路(4)
来源:百度文库 编辑:中财网 时间:2024/05/01 21:46:07
四.【入微】
最强解决方案。你能够走在需求的前面,将当前需求里有的、没有直接提出来的、现在暂时没有但将来可能有的等等,及前端编程潜规则等各个方方面面都综合考虑,给出最优方案。以一招胜万招。
- var str = "http://www.xxx.com/?pn=0"; // 删除指定字符 pn=0
- // 我将这个字符串里所可能想到的各种情况都列举出来
- var a = [
- "http://www.xxx.com/VMpn=?pn=0"// pn= 可能出现在 ? 前
- , "http://www.xxx.com/VMpn=?pn="// URL里允许pn 值为空
- , "http://www.xxx.com/VMpn=?pn=0&a=1"// URL 里可有多个字段
- , "http://www.xxx.com/VMpn=?a=1&pn=0"// 可能排在最后
- , "http://www.xxx.com/VMpn=?a=1&pn=0&pn=1"// 可能有多个 pn 字段
- , "http://www.xxx.com/VMpn=?a=1&pn=0&b=2"// 可能在中间
- , "http://www.xxx.com/VMpn=?a=1&pn=0&pn=1&b=1" // 可能在中间成组
- , "http://www.xxx.com/VMpn=?a=1&pn=0&b=1&pn=1" // 可能零星分布
- ];
- /* 需求的不言之秘:
- 若出现在字符串最尾则要去之
- & 两个符号不可重叠
- */
- var reg = /((\?)(pn=[^&]*&)+(?!pn=))|(((\?|&)pn=[^&]*)+$)|(&pn=[^&]*)/g;
- for (var i = 0; i < a.length; i++) {
- alert(a[i] + "\n" + a[i].replace(reg, "$2"));
- }
这个阶段已经不再追求一招一式,对你来说不是使用什么创新绝招解决需求,而是给出成熟稳重的方案,从根上解决问题。针对某个当前需求你的代码可能不是最优,但是针对此类的需求你的代码却是最优秀的代码。
【进阶之路】
很多WEB前端研发工程师在做了3-4年之后就会进入一个瓶颈期:产品开发需求是小菜一碟,没有新鲜的可以挑战的东西;代码开发中的稀奇的解题方法都已经尝试过。没有了可挑战的难题,失去了探索的激情,也就没有了再上升的动力,好不容易走过“入室”级别的人又会有八九成止步于此。或转做技术领导人,或转到其它的领域,或换公司。
这些人的上升之路在哪里呢?
这个阶段单单依靠技巧和数量的累积已经没有什么效果了,突破之路在第5层《化蝶》里会详细说明,我建议你在这个阶段末尾着重关注编程理论:面向对象/过程、代码组织形式、编译、代码规范、其它的框架设计等等。
我建议这个级别的工程师做一做WebEditor控件,不要求完整功能,但是该控件里的模块划分、代码组织、编程思想做到位,给出一个系统的解决方案。
什么是测试研发工程师?(硬件)
C/S研发工程师和B/S研发工程师有什么区别?
web编程语言比较
WEB编程后缀名问题
什么是WEB编程?
我想学习WEB编程?
编程和web开发
上海大唐移动做研发工程师合同签多长时间啊?
CNC编程员之路
如何提高编程能力
如何提高编程能力
如何提高编程能力?
WEB编程技术有哪些?
web编程语言的选择
地府飞升之后的黄泉之息是不是攻击技能?
建筑行业的工程师应该具备什么能力?
提高C语言编程能力
如何快速提高编程能力??
提高C语言编程能力
提高C语言编程能力
c++编程之路
web工程师主要做什么?就业方向是什么?
web开发工程师 都需要掌握哪些知识?
去先锋高科技搞研发好还是去中芯国际做工艺工程师好?