什么样的开发方式是快速准确有效的?【下】 |
包括从问题的思考,到开发的工具(包括编辑器)使用?
我觉得这是一个道与术的讨论。 🧓🎩🧪😰👎 道就是指对事物思想或者根本基础的认识,术就是具体行动的方法论。 1、首先明确一点:【知识之上是思想,思想之上是精神】 我们经常在行业中看到以下两种情况,一些计算机基础很不错的同学,有时候虽然没有太多的工作经验,但当公司需要使用一项新技术的时候学习能力往往比较突出,出现问题的时候往往能定位到本质;还有一些同学,熟练使用各种框架的用法,让他上线一个新技术时,往往有时比前者更快,但是一旦出现问题之后,特别是如果涉及到底层一些就会抓瞎。 👳🩳🧬🤡🙌 我个人认为语言和IDE仅仅是工具,它们仅仅只是实现思想的手段,以促成目的。思想是程序的灵魂,语言只是描述思想的载体(仅仅借助工具实现了idea而已,工具帮助我们更好地思考和表达) 结论1:比编码更重要的思想。 👃🗺🅿🐶 2、基于结论1,解答几个问题:What?思想类似武林秘籍的内功心法。 计算机领域的顶层思想都是学院派的东西,即是底层原理,也就是刘大大常常强调的基础。🧓🩳🦯😋🙌 When?工作、学习、生活无时无刻不呈现出它的哲学意义。 Why?程序设计思想、理念、模型源于生活、源于哲学、源于时间万物。它能培养我们的思维。思想甚至或接近于理念的东西非常重要,关系到程序员的境界,对知识的融会贯通的把握。 🤝🦼🍌🚷🐋 3、良好的思维习惯养成。 发现问题,分析问题,提出方案,落地实施,优化迭代。所有的东西,只要遵循既定的步骤,都可以学会。学习的根本在于如何处理信息的能力,对现象的分析,归纳和延伸的能力。一开始,你从模仿开始,收集信息,不断地正向反馈,反馈多了后面就会通过思考来学习。而有了思考能力后,你渐渐会有自己的观点,有质疑精神,继而有创新精神,这是成长过程。 4.基于3点,继续深入探讨。学习在于模仿,从积累中聚合自己的思维。🧑🌾👒✒😇🙏 1.应用驱动学习,抓大放小,实践中寻找客观规律。从既有的经验中总结,利用适当的抽象,触其本质,去掉相干的干扰因素,从而得出使用范围更广的知识。 通俗来说,这就是举一反三,触类旁通。(技术上的通用框架是知识点,是术。思维能力的提高,解决问题的方法,这些非技术能力才是心法。掌握了知识点,犹如你掌握了公式,遇到问题只会套,套出结果了,顶多叫有经验。这是没进行深度思考的表现,很多问题表面上看,就是很多人解决不了,但究其本质就是很多人都缺少思考和解决问题的能力) 🤟🏝🍍✡🐠 2.避免陷入填鸭式教育的泥潭。 在国内传统的教育一直都是系统完备的,那段时期的学习是单向被动的,像鸭子一样被喂食知识。因而很多人陷入只会被动等待,不会主动探索学习的习惯。但习惯并不意味着享受,你曾被引入一座座知识殿堂,它们巧夺天工,美轮美奂。但是没人引你去了解它的地基和脚手架,它原始丑陋的模样你都未曾见过。在这样封闭,单向,被动,静态的环境下,很多人很难跳出怪圈。 3.基于1.2,有主观能动性去实践,复盘总结。这就是所谓的刻意+练习(脱离舒适区、及时反馈) 👃🏫🍓♑🐒 举个例子:学习新框架,3h1w。 what,先搞清楚它是什么,这是它的内涵。 🧒🎒📐🙃👊 how,它能做什么,这是它的外延。 内涵和外延共同来定义框架本身,会对框架有较为深刻的理解,应用层面上知道如何用,这是术。 why,搞清楚框架的相关理论基础,其目的是知道框架是如何被当你的,是否能借鉴以便今后自己能够用到其他地方。最后搞清楚框架中一些设计的原理和细节。目的是为了搞清楚来龙去脉。这是抽象(总结规律),即思想。👨⚕️🧢⌨🤮👎 知其然知其所以然。 注意:中间的1.2.3分别是4.1、4.2、4.3 👨🦱💄🦯🤬✌ 5、有效的存储是为了有效的提取。 相信不少的大牛都提倡大家写博客。写博客的目的是为了梳理知识点,形成知识体系,然后构建并合并到自己的认知体系。 博客仅仅只是一种媒介。常见的利器《思维导图》、《记忆宫殿》 🛑🌶‼🐢 你所拥有的知识并不在于你记得多少,在于它能在恰当的时候被回忆起来。比如技术点依托于一类业务场景。 细致的探索可以读读《书写是为了更好地思考》 👳🧢📐🙂🦴 6.了解和术和道的关系后。为了接地气些,谈谈一些编程理解。 6.1、写代码的过程=逻辑推演的过程=思想+描述思想的工具 目的:还原思维的过程,即思考过程的复制与再现。 🧒🧣🎺🥰👃 从数学角度来说,本质是排列组合(api的组合使用),组合的随机性很多,因此有规律。 开发思想指导: 🙏🏝🍏🆚🦄 牛逼的组合是规律,也就有GOF提出的对象组合的概念,也就有了神书《设计模式》这种存在。当然还有一堆开发原则。 描述思想的工具: 为了很好地去刻画和再现思维的过程,需要好的工具。而工具本身又需要顺手好用,因而它会被有工匠精神的宗师进行设计,因此会有《编程范式》👨⚕️🛍😴🦷 6.2、开发过程:分析、设计、团队协作,架构、测试、实现 实现:迭代一,满足基本功能;迭代二,从性能角度考虑;迭代三,稳定性;迭代四,代码部署及版本控制。后续迭代。 👮♂️🩴📏😋👌 6.3、常见三类开发: 第一类,用脑。遵循程序设计:分析、设计、架构、实现 第二类,用抄。分析,搜索,抄袭,改进,实现 第三类,用耗。copy,debug,debug...,实现 👮♂️💄🖌😈👌
帖子热度 1.1万 ℃
|
|
睡觉 不可能的 这辈子不可能睡觉的 你看烟有没有 酒又没有 友女又没有 又不懂去哪玩 只能每天像个神经病一样玩手机
|