美文网首页程序猿的进阶屋终端研发部Android技术知识
程序员的路上,你掌握了什么概念或技术使你感觉自我提升惊人?

程序员的路上,你掌握了什么概念或技术使你感觉自我提升惊人?

作者: 91216271346a | 来源:发表于2018-01-21 21:25 被阅读18次

    你学会了做功能,用各种库,各种框架,项目形形绝色,需求千姿百态,变化莫测。

    但你都过来了,凭借着优秀的搜索素养,复制黏贴,錸主义的能力(我不是在讽刺,这是一种编程必须的能力),成功地解决了一个又一个陌生的需求。

    你觉得自己走过了很长的路。这时候大概三年过去了,确实不短。

    但也渐渐意识到似乎缺了什么东西,有一种不满足感,以前你只追求高效率地完成工作,现在你想追求得更多一点。

    你也许想知道用过的某个库的实现原理,也许想实现自己的版本,你想理解框架的架构模式,想获得这种能力,你想把语言本身用得更自如更生动,想真正拥有它,而不是使用它。

    这是你从developer到engineer的关键时刻。你将要学会的程序设计能力,而不是为功能而代码的能力,你越来越多关注质量,而不是数量。

    如果你是PHP程序员,你将理解的这个概念可能是"data driven"

    你尝试让数据来驱动程序,而不是层层嵌套的逻辑,无休无止的if else,你想把程序度短变平,你想把复杂的逻辑编程简单的“配置”,你想让这些配置来帮你写逻辑,而不是自己手动去敲逻辑代码。理解它以后,你会发现原来这么多的程序其实可以有更好的写法,更“快好省”的结构设计。你不再觉得“业务逻辑”是浪费时间,你看到了把任何业务逻辑转化为数据驱动的设计的途径,这时候你不再是原来那个PHP程序员了,packagist上的库你看过去,都是你的朋友,因为你知道在某个时候,你需要他们支撑(简化)你的一个设计,以前你看到一个包,看它的API,找到一个,require进来,发现可以了;现在你想看看它的“设计”,想的是“可以怎么用”,对我的项目有什么意义。

     如果你是JS程序员,这个概念也许是事件驱动也许是异步编程,你懂得了以事件为中心来设计一个完成的架构,你驾驭了异步程序的技巧,以前你总是觉得驾驭不了复杂的项目,感到恐惧,错综复杂的事件流,异步程序写起来各种不自然,UI交互,因为你总是追着每个具体的功能跑,而没有想过高一两个层次的设计,事件如何统一起来管理,而不是让它们乱窜,UI的模块怎么分割,分割以后怎么交互,对你的要求不是去设计一个具体的模块,而是为设计任意多模块提供一种可扩展可维护的机制,你需要设计规则,决定程序的结构、层次、模式。这时候你不再只是document.getElementBy那时候的JS程序员,这时候你具备了编程的“元”能力: 剖析问题,设计程序。

    你会觉得即使不给你任何框架和库,自己也能设计出一套訪案来。你选择库或者什么技术,开始处于非常具体的“重需要”,而不是听说它“很好用”,那时候是它在选择你,你很被动。

    "我想用A,因为这时候A是最佳选择”,你有一种清晰感,也开始有了品位,判断力。

    你不再是“码农”了,你是Engineer,你做事开始有了逻辑(你不确定以前做的事对不对好不好,

    只管做,现在你比较清楚了,很多东西在你脑子里开始有了主次,你用设计、架构来解决问题,

    ”你”开始正成为解决问题的主角,而不是你“用到的东西”。你而不是光用代码和搜索引擎。

    真正地驾驭了语言,这个语言可以怎么用,应该怎么用,而不是写成什么样算什么样。你能比较轻松的从别人的东西里看出苗头来。

    这个时候,你走上了技术能力的phase 2。

    文末福利

    1.我最近整合了java相关一部分学习视频、电子书、和项目资料,涵盖34个领域,143家公司的面试真题,以及常见互联网技术领悟经典书和面试书和知名互联网公司校招薪资汇总表。

    获取方式:关注“java进阶技术”公众号,回复“电子书”或“项目”“java基础”“java架构”“面试资料”。

    2..直接加QQ群:282711949.群文件下载。

    相关文章

      网友评论

        本文标题:程序员的路上,你掌握了什么概念或技术使你感觉自我提升惊人?

        本文链接:https://www.haomeiwen.com/subject/iowqaxtx.html