task5总结—编程的精进之法

task5做的时间很久了,今天下午才把代码提交上去。做的这么慢的原因,其一是,经过task4 80个代码的轰击,身体上进入了疲惫期,心理上也进入了厌学期,效率很低;其二是,对于要求看的那几篇博大精深的文章,我始终感觉云里雾里,不能get到重点。我是那种如果有些东西没搞清楚的话,不会轻易开始去做的那种人,我需要理解它并且有80%的把握的时候,才会去动手开始做,所以直到昨天晚上开了线下聚会,被助教那么一点就突然恍然大悟了,晚上回来就把图画好框架搭好了,今天完成了整个代码。一旦弄清楚后,做事的效率就会高很多,那么前面自己一个人探索的时间还是值得的,有思考有困难,才能在困难得到解决的时候有一种拨开云雾的感觉,那种感觉大概会比在只有20%理解的时候就开始做这件事,在做它的时候再边建立模型边做要好的多,效率也会高的多。

要点一:任务列表法

1 原则:
  • 完全穷尽:
    完全穷尽是什么意思呢?
    当我开始做事情的时候,我不能把所有的事情穷尽,我列出的列表跟我做的事情是不完全等价的,这说明我们的工作行为是非常混沌不可视的,哪怕是对自己。
    有时事情看起来在大面上是穷尽了,但是做的时候,发现又出现了新的任务。那说明每一项任务的输入和输出没有想清楚,所以当发现输入输出有欠缺的时候(主要是输入,输出欠缺的结果也是要补输入),就需要新的任务来准备输入,于是任务列表就增加了,这也是一种没有穷尽。
  • 各自独立
    各自独立又是什么意思呢?
    意味着,每一项任务都可以单独做完,而不需要先做完其中一项任务,才能做完另一项。

所以我们在做任务列表和画结构模块图的时候可以用上面两点来审视自己,看看自己究竟有没做到完全穷尽各自独立两个原则,如果没有做到的话,就需要思考自己是为什么没有做到,少考虑了哪些要素?要做到这两点一定很难,需要不断地实践然后反思再实践再反思,也就是会不断地用到下面的PDCA模型。

2 戴明环PDCA
  • PDCA即Plan - Do - Check - Action。
  • 它讲究从计划开始,经过实践,再反思,产生的改进行动再纳入下一轮计划的持续改进过程。
  • 要通过反思来发现自己的问题,比如自己不熟悉的知识点,不熟悉的方法甚至于不熟悉的业务知识,最后的action也往往是刻意练习来提升生产效率的。
  • 如何Check?
    一般两方面考虑:一是从完成时间来考虑,是否在Plan的时间内做完了?产生20%明显差距的时候就需要反思了,并纳入到将来的Plan中;二是从任务列表的数量来考虑,估计的任务列表是否和实际做的任务列表一样多?往往是会多出来的,这时就需要反思,自己是那里不足导致了这个差别?

要点二:机器是如何思考的?

1.png

大体就是这个样子。那么输入输出的是什么?

  • 输入输出的是数据,中间处理的就是过程。
    所以,两个要点:一是数据,二是过程

对于数据来说,要做的就是:将数据结构化,也就是说你要把非结构化的数据变得结构化一点,简单点说买就是需要把它变成你的代码可操控的数据。

那么,遇到一个需求的时候,思考问题的过程大致以下几个阶段:

  1. 分解问题,一小步一小步地来,尤其对于初学者来说,不要害怕问题细化了会更费时间,将问题细化会让你更容易看懂整个问题,不积跬步无以至千里大概就是这个意思;
  2. 找到子问题之间的关联(通过输入输出关联起来);
  3. 找到问题的边界,明确假设和结果。

要点三:我脑中的重构

学会概念性地思考:

  1. 看到复杂场景背后的核心本质
  2. 识别到两个不相关的情景的相似之处
  3. 用比喻或类比来解释场景
  4. 用一个框架去解决问题

题外话:关于函数及变量的命名

  • 函数命名原则:
    函数命名一般是“动词+名词”组合,你所命名的函数要让读你的代码的人一眼明白你的这段函数是用来做什么的,程序代码写的好不好,与代码的可读性强不强有着很大的关系,毕竟对于一个庞大的项目来说,每人做的部分是有限的,这时互相能够配合好就很大程度地决定了整个项目的进度快慢,而让别人能够轻松读懂你的代码是其中很重要的一件事。

  • 变量命名原则:
    给变量命名一般是用“名词”来命名,比如sum,result,count等常见功用的变量名字。

参考文章:
编程的精进之法
像机器一样思考系列文章

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容

  • 编程,众所周知被定义为知识工作。所有的知识工作,从业者和门外汉都喜欢把它神秘化,将整个过程以不可知论的风格来解释。...
    ThoughtWorks阅读 3,472评论 8 88
  • 文章:《编程的精进之法》 关键词:知识工作、任务列表、PDCA(Plan-Do-Check-Action)、自我记...
    小令飞霜阅读 247评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,081评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • 8月,如愿看了两场电影。 一场为了三叔,一场为了没长大的那个自己。 三叔出镜盗墓笔记,作为一桌吃过饭的近距离观察者...
    时刻生涯冯小雪阅读 596评论 0 0