小狗惨叫:Web前端研发工程师编程能力飞升之路(5)
来源:百度文库 编辑:偶看新闻 时间:2024/04/29 23:59:41
五.【化蝶】
破茧重生,这个层次关注的是编程语言本身,而不再关心产品需求。什么是茧?产品需求就是茧。当你一招胜万招,打遍天下需求之时,你如果还拘泥于需求开发,那就是你限于茧中而不自知。要么就在这个茧里默默地老去,要么就破开茧获得新生。
还是以那个“字符串剪裁”的老例子:
- /**
- * 在拼接正则表达式字符串时,消除原字符串中特殊字符对正则表达式的干扰
- * @author:meizz
- * @version: 2010/12/16
- * @param {String} str 被正则表达式字符串保护编码的字符串
- * @return {String} 被保护处理过后的字符串
- */
- function escapeReg(str) {
- return str.replace(new RegExp("([.*+?^=!:\x24{}()|[\\]\/\\\\])", "g"), "\\\x241");
- }
- /**
- * 删除URL字符串中指定的 Query
- * @author:meizz
- * @version:2010/12/16
- * @param {String} url URL字符串
- * @param {String} key 被删除的Query名
- * @return {String} 被删除指定 query 后的URL字符串
- */
- function delUrlQuery(url, key) {
- key = escapeReg(key);
- var reg = new RegExp("((\\?)("+ key +"=[^&]*&)+(?!"+ key +
- "=))|(((\\?|&)"+ key +"=[^&]*)+$)|(&"+ key +"=[^&]*)", "g");
- return url.replace(reg, "\x241")
- }
- // 应用实例
- var str = "http://www.xxx.com/?pn=0"; // 删除指定字符 pn=0
- delUrlQuery(str, "pn");
这段代码相对于层次4《入微》有什么区别吗?从代码实现上来说没有太大的区别,但是从思路上来说却有着本质的区别:1、不再是就事论事,头疼医头,而是把一类问题抽象理论化,一招破万招;2、有封装的概念,不再是每次从零开始,而是站在半山腰开始爬。
在WEB前端研发队伍里也有很大一部分人《入室》层次时就自我感觉良好,直接跨跃到《化蝶》,积累自己的代码库,抽象化问题。但没有基础,缺少强大的后劲,即使能够破茧也经受不了风吹雨打。一份不成熟的架构设计对团队开发带来的危害远大于它带来的好处,这种例子在业界屡见不鲜。不要拔苗助长,不要不会走就想着跑,夯实基础,水到渠成地成长,厚积薄发,强力地破茧而出。
【进阶之路】
你已经从原始积累,到厚积薄发,到破茧而出之后,你所关注的应该不再是一招一式、一个项目、一个模块,而应该是一种思路,一种理论。你可以做以下几个步骤以突破到更高层次:再仔细看几遍HTML/CSS/JavaScript接口帮助文档;选择一门强语言(C++/C#/Java等)观察理解这些语言的组织结构,语言设计;看看原型链,链式语法编程,泛型,接口编程,DOM遥控器等等;仔细阅读成熟的WEB前端开发框架的设计文档,看他们为什么要这样设计。
什么是测试研发工程师?(硬件)
C/S研发工程师和B/S研发工程师有什么区别?
web编程语言比较
WEB编程后缀名问题
什么是WEB编程?
我想学习WEB编程?
编程和web开发
上海大唐移动做研发工程师合同签多长时间啊?
CNC编程员之路
如何提高编程能力
如何提高编程能力
如何提高编程能力?
WEB编程技术有哪些?
web编程语言的选择
地府飞升之后的黄泉之息是不是攻击技能?
建筑行业的工程师应该具备什么能力?
提高C语言编程能力
如何快速提高编程能力??
提高C语言编程能力
提高C语言编程能力
c++编程之路
web工程师主要做什么?就业方向是什么?
web开发工程师 都需要掌握哪些知识?
去先锋高科技搞研发好还是去中芯国际做工艺工程师好?