研究复杂问题的一般方法(研基础、降干扰项)

引用网络

复杂事情重复做,复杂事情基础化

问题

  • 1.有时候项目中突然出现一个棘手问题,项目又这么大,似乎不好解决,怎么定位问题呢?
  • 2.有时候我们需要从一个复杂的三方类里面吸取我们重要的东西,而时间又有限,如何提高效率?
  • 3.我们想快速的读一本书,而书中有些又读不懂,怎么办?

我的方法步骤

要做事的事
  • 对问题提出尽可能多的猜想,用文档写出来,文档里分记录、现象、问题、猜想、结论各个要素。
  • 根据猜想写一些细小demo。
  • 通过这些细小的demo得出明确的小结论。
  • 从这些结论来分析大的环境问题,验证过得出的结论是靠谱的,把想当然的当做结论是危险的,尤其人类思想里的"我做的大概不会出错"这种想当然的思想在很多场景会引发问题。
  • 如果压力太大,说明你定的目标太高,如果目标确实高,要么去请教别人,如果自行研究,就只能自己适度调低目标。不要想着一步登天,我们最重要是发现有价值的线索,有时候如果踏实推动了一点,复杂问题可能就会豁然开朗,柳暗花明。相反,如果压力过大,目标过大,目标不可行,只是浪费时间,让人越来越慌张。
  • 研究基础信息,基础有时候能让你对提出问题和分析问题都有很好的思路。
  • 学会间断休息能提高你做事的效率,降低压力。
  • 提前试错,提前发现问题,推进进度,大炮打苍蝇,是非常有效的方法,重要的经验,也就是前紧后松。
  • 将大问题分解为小问题后,要善于借助搜索引擎来搜寻问题,有句话说“搜索引擎是最好的老师”。搜索也有技巧,搜索词要关键词,甚至你搜索的词是关键词的话,即使关键词与问题关系不是很明确,但通过阅读搜索关键字出来的文档,也会让你收获很大。
  • 好好休息,最难的问题要在你精力充沛的时候来分析,精力充沛(比如对我来说,就是休息好后的早晨,最差的是晚上)意味着你的创造思维越强,越可能解决复杂问题,我多次遇到一些中等和初级问题,晚上一小时都没解决,但是早上二十分钟就解决了。
不要做的事
  • 在一个大环境里,不停做单一变量测试,没有排除,这样做很多其实做无用功。
  • 如果你不是特别聪明,就要用文档形式来做排除,因为复杂的环境里,平均智商(我也是平均智商)的工程师不会考虑非常周全。
  • 不要心慌,要有古代大将那种临危不乱的素质,这种素质能稳定你的情绪也能影响别人,但其实说容易,做起来很难,容易恐惧是人的本性,但可以慢慢练习改进。可以听听歌(抒情、轻音乐),让自己冷静,让自己尽可能集中在想更多思路上,而不是胡乱慌张。

如何克服遇阻时巨大的焦虑

我的方法是:交流,沟通,音乐,设置明确的目标,没目标时的休息。
清理电脑桌面,用铺式分析法来分析问题,要知道自己在做什么,不要做重复的事,不要连自己在做什么都不知道。

如何培养信心

花大量有效的时间,不断试错,不断得出结论,因为你充分的努力,给你的任务都是不断的胜利,胜利,成功,成功,你会获得极大的自信心,从而形成一个良性循环。相反,如果不断收到打击,自信心没有不说,人都可能会崩溃。

如何研究复杂的三方类(砍功能方法)和看懂别人的代码

  • 三方类往往考虑到了多种情形,比如一个轮播组件,作者经过多次迭代,可能考虑到了横向和竖向
  • 我们要看懂往往会变得非常复杂
  • 我的方法是,逐步砍掉一些功能,跟迭代相反,砍掉一点看一点,直到留下我们需要的简单功能
  • 当经过代码的多次阅读和功能的不断缩减,我们就能读懂这些代码的意思了
  • demo足够简单,通过调参数的变化,确认参数的意思。

如何快速读一般书

  • 实在看不懂跳过去,看重点
  • 好的书,经典的书,多读几遍,会发现第一遍有问题的地方也会懂了
  • 首先要有兴趣,可以在心情不是特别好的时候,放弃一些让你烦躁的书,读你感兴趣或者读以前你读过的书,当然有些经典的书,让你烦躁,但你要在精力充沛的时候读。

其他总结

  • 代码就是对象的组合体,看代码就像看小说,小说要耐心梳理里面的人物关系,代码要认真梳理里面对象的关系。
  • 如果容易分神,东搞一下,西搞一下,就看看受辱经历,顿时倍感精神。
  • 对于一个大的项目,如果要加东西,一时不知道怎么加,可以自己乱改一点,然后看效果,效果好就自己改。

最后

有时候自己找的资料,或者自己得出来的结论有问题,而自己又不能验证,或者验证的成本很好,思维定势很严重,有时候需要打破思维定势,要么重新一一验证,要么跟人合作,从别人的实践中得出结论。
擅于合作,请教别人,争取1+1> 2,这是非常重要的方法途径。合作分享能突破你个人的极限。这是门大学问。

总结

有人说工程师就是侦探,这说的是靠谱的,有时候问题隐藏在成千上万甚至上百万的代码里,怎么找到呢,是需要分析方法的。这总结为一句话就是:
从整体中分离出个体,有效排除,减少变量,通过个体总结中分析总体,最终锁定问题。
想到Chairman mao的军事思想: 将整体分割为个体,集中优势兵力,各个击破,消灭个体,进而整体上消灭敌人。
有些问题可以放弃,聚焦在一些你感兴趣,又有把握做出东西的问题,这样能让你长期坚持下去。

我的一个分析模板

调试方法

  • 1
  • 2
  • 3

现象

  • 1
  • 2
  • 3

提问

  • 1
  • 2
  • 3

原因

  • 1
  • 2
  • 3

怎么解决

  • 1
  • 2

难点

  • 1
  • 2
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP目源码:每个资源包中都包含完整的ASP目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握目开发的全过程。 目演示与使用指南:为帮助用户更好地理解和使用这些ASP目,每个资源包中都包含目的演示文件和使用指南。演示文件通常以视频或图文形式展示目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的经验
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值