目 录CONTENT

文章目录

程序员的“逻辑能力”为什么强,他们是怎么提高的呢?

萧瑟
2023-04-30 / 0 评论 / 17 点赞 / 414 阅读 / 2,116 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-08-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

都说程序员的“逻辑能力”强,他们是怎么变强的呢?这是一个很有意思的问题,因为逻辑能力并不是天生就有的,而是需要通过学习和练习来培养的。程序员的逻辑能力主要体现在以下几个方面:

  • 程序设计。程序员需要根据需求和规范,设计出合理的程序结构和算法,使得程序能够实现预期的功能和效果。程序设计需要考虑很多因素,比如程序的可读性、可维护性、可扩展性、性能、安全性等。程序员需要运用各种设计原则和模式,以及合适的数据结构和算法,来构建出高质量的程序。

  • 问题分析。程序员在开发过程中,经常会遇到各种问题,比如编译错误、运行错误、逻辑错误、性能瓶颈等。程序员需要分析问题的原因和影响,找出问题的根源和解决方案。问题分析需要运用各种调试工具和方法,以及逻辑推理和归纳演绎等思维技巧,来定位和修复问题。

  • 技术学习。程序员需要不断地学习新的技术和知识,以适应不断变化的技术环境和需求。程序员需要学习各种编程语言、框架、库、平台、工具等,以及各种编程范式、理论、概念等。技术学习需要运用各种学习资源和方法,以及批判思维和创造思维等思维方式,来掌握和应用技术。

那么,程序员是怎么培养逻辑能力的呢?我认为有以下几个方法:

1、读那些“教你如何思考”的书是没用的

逻辑思维是一种技能,就像玩游戏,泡妞,打架一样,需要多实践才能掌握。

读书可以系统地学习知识,但不能有效地学习技巧。

只读书,你不可能学会一种思维模式的。

2、数学题没什么用

我不懂真正深奥的数学是什么样,但对于大部分人熟知的高中数学题而言,练习的只是一种技能——如何在限定的时间内找到一种快速解法,得到答案。

逻辑思维的含义比这个要宽。

逻辑好的人做数学题会快一点,但做数学题本身并不是直接提高逻辑的方法。

3、读《逻辑学导论》是没用的,你会迷糊的

下面引用百度百科:“逻辑思维(Logical thinking),是人们在认识过程中利用概念、判断、推理等思维形式主动地反映客观事实的理性认识过程,也叫理论思维”。

这种话对你有用么?

你学习十年牛顿物理,投篮准确率也不一定会比别人更高。

4、多读代码,虽然枯燥,但是有效

读代码是最有效的逻辑学习,可以让程序员学习别人的思路和经验,以及各种优秀的设计和实现。

读代码可以让程序员了解各种编程范式和模式,以及各种优化技巧和最佳实践。

读代码也可以让程序员发现自己的不足和错误,从而提高自我反省和改进能力。

5、有效的练习方法

下面写写我觉得什么练习方法最有效吧。

我自己的感受是自己出一些练习题,自己做。

以下举一些我自己出的,自己做过的题目。

  • 第一类:

    1. 人在什么情况下会哭?请列举出尽可能多的不重复的答案。

    2. 短信诈骗有什么手段?请列举出尽可能多的不重复的答案。

  • 第二类:

    1. 不用纸笔,不查资料,估算一下中国人每天说多少句“傻逼”?

    2. 条件同上,估算一下淘宝一年卖出多少个避孕套?

  • 第三类:

    1. 我开了一家包子店,包子却卖不动,该怎么办?请给出针对各种可能的完整解决方案。

    2. 有一家门户网站,流量不高,该怎么提高流量?请给出针对各种可能的完整解决方案。

5.1 如何解答第一类问题

解答第一类问题,你会发现最有效的方法是先分门别类,然后逐一列举。

什么情况会哭?

随便举一个分类法,可以分为一个人的情况,两个人的情况,多个人的情况。

一个人的情况什么时候会哭?挂科,失恋,喝醉,生病……

两个人的情况什么时候会哭?吵架,被骂,被感动……

依此类推。

如果不分类,要么列举得很慢,要么列举不全,要么列举出重复的答案。

这就是人们常说的 MECE(Mutually Exclusive, Collectively Exhaustive.)

做到这一点,分类的功夫就差不多了。

5.2 如何解答第二类问题

要解答第二类问题,你会发现需要进行一系列的假设,最后用 A x B x (C + D) x (E + F + G) 这样的形式来解答。

中国人一年说多少句傻逼?把中国人先按年龄段分成几部分:0-15,15-30,30-45,45-60,60 以上。

假设每个年龄段 3 亿人(随便设一个)。

0-15 大约是不会说的;

60 以上也不用考虑;

45-60 的人每天说 10 次;

30-45 的人每天大概说 20 次;

15-30 每天大约 30 次。

那么答案就是:3 亿 x 10 + 3 亿 x 20 + 3 亿 x 30 = 180 亿次/日。

这题比较简单。

但要算的更精确有哪些方法?

可以分南方人,北方人,分城市人,农村人,受教育程度高的,受教育程度低的,分职业……

一步步细分,一步步估算。

5.3 如何解答第三类问题

解答第三类问题就是第一类和第二类的结合。

包子卖不动可能有哪些原因?这是第一类问题。

原因可分成两大类:供应和需求。

供应方面 —— 包子味道如何?质量如何?价格如何?新鲜否?

需求方面 —— 本地区有没有人?这些人爱不爱吃包子?这些人习惯不习惯到包子店买包子?等等。

针对每一个子问题,如何得到一个解决方案。

比如,本地区有多少人爱吃包子?这就回到了第二类问题。

这就是我认为最有效的练习方法。

可以发现,逻辑思维不是知识,你可以随时随地,用任何材料来练习。

它是一种方法,让你可以无缝地解决各种没有头绪的问题。

习惯了这样的解析方式,碰到复杂的问题你也不会慌。

如果有人问你,中国明年的房地产形势会如何?

按照模式一步一步解就可以了,答案可能不太准,但至少你有个概念。


weixin

17

评论区