古黑论
登陆 / 注册 搜索

USERCENTER

站内搜索引擎

打印 上一主题 下一主题

[其他] 什么样的开发方式是快速准确有效的?【下】

[复制链接]
跳转到指定楼层
楼主
吾是土豪 发表于 2018-5-13 23:22:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
        包括从问题的思考,到开发的工具(包括编辑器)使用?

 IoC_Logo_AW.jpg 什么样的开发方式是快速准确有效的?【下】

    我觉得这是一个的讨论。
   
    道就是指对事物思想或者根本基础的认识,术就是具体行动的方法论。
   
    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...,实现
上一篇:什么样的开发方式是快速准确有效的?【上】摘要:包括从问题的思考,到开发的工具(包括编辑器) ...
下一篇:Java 虚拟机JVM 总结(精简版) [上]摘要:学过 Java 的同学都知道,JVM 是 Java Virtual Machi ...
回复

使用道具 举报

沙发
凉冬空巷 发表于 2018-5-13 23:30:08 来自手机 | 只看该作者
睡觉 不可能的 这辈子不可能睡觉的 你看烟有没有 酒又没有 友女又没有 又不懂去哪玩 只能每天像个神经病一样玩手机
板凳
深海里的那抹蓝 发表于 2018-5-14 22:27:46 | 只看该作者
珍爱生命,果断回帖。
地板
hhjj543212012 发表于 2019-2-25 08:11:51 | 只看该作者
顶顶顶
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

关于我们|小黑屋|手机版|Archiver|古黑论

GMT+8, 2019-5-22 17:42 , Processed in 0.247520 second(s), 50 queries .

© 2015-2019 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表