CMoney工程师战斗营weekly4

今天想写一些不一样的内容,前三周的内的文章大都是课堂笔记的整理+复习。
今天想好好思考一下如何训练程序逻辑

什麽叫做程序思考?

我定义为:有逻辑、有层次的思考。
就像写程序一样,我们会一步一步写下解决问题的方法,透过组合语法、组合函数来达到想做的目的,每一步都清清楚楚的。
程序思考的好处是:我们可以跳出问题,思考整个大问题,然後逐步击破小问题,实作的时候更专心在解决问题上。

该如何练习?

以程序思考贯通全部:
1.清楚问题
首先确认问题为何,当下有什麽问题,或者要达成什麽目的,并能清楚地描述出来。

2.拆解问题
下午在查资料的时候看到网友提到,利用MECE的原则拆解问题。
MECE意指「相互独立、完全穷尽」,亦可翻译「不重复、不遗漏」。

3.把问题简化
例如:这周有一题练习题是要让一堆马可以长出来,且可以四面八方的移动(不能重复移动)并且不会撞到墙或是障碍物。
可以先从做一匹马开始,然後再设定不会碰撞的条件,再做第二匹马出来确认他们移动的状态是否重复,最後就可以建立一堆马。

4.构思
这里可能需要收集很多资料来回答某个自己缺乏的知识。
比如不懂语法,就需要去查该怎麽做。
这个时代我们需要建立第二个大脑,知道该怎麽搜集资讯、想要的资料在哪里,掌握了这点就能够面对未知的问题。

5.组合解法
把拆解的问题一一击破之後,就重组在一起回答完整的答案。


<<:  [Git] Intro

>>:  [NumPy] reshape(), resize()

[Day 3] - 『转职工作的Lessons learned』 - 资料库转换

今天来分享一下转职後第一个工作任务:将资料从MongoDB转到PostgreSQL 2020年10月...

第 6 天 调整 HeroDetail 的显示方式|AppRoutingModule、ActivatedRoute

前情提要 昨天我们完成了英雄细节元件 HeroDetailComponent,并且使用属性系结(pr...

30天完成家庭任务平台:第三十天

终於最後一天了!!~虽然没有写的很好,就是心得的小小整理,但是也坚持了三十天了,谢谢不小心进到这个网...

DAY19-动态规划(二)

今天继续整理几题动态规划~ 昨天放的几题都是相对简单的,今天会放几题推演比较复杂或比较多维度的 明天...

Day-4 老玩家们最推荐、欧洲流行的 SCART 端子

现在若要使用怀旧主机、SCART 会是老玩家们最推荐的介面了。虽其最高仅支援 480i 解析度、但其...