Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

思维能力 #152

Open
aJean opened this issue Apr 16, 2022 · 0 comments
Open

思维能力 #152

aJean opened this issue Apr 16, 2022 · 0 comments

Comments

@aJean
Copy link
Owner

aJean commented Apr 16, 2022

抽象

抽象是指为了某种目的,对一个概念或一种现象包含的信息进行过滤,移除不相关的信息,只保留与某种最终目的相关的信息。例如,一个皮质的足球,我们可以过滤它的质料等信息,得到更一般性的概念,也就是球。从另外一个角度看,抽象就是简化事物,抓住事物本质的过程

抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程

层次性

抽象层次越高,内涵越小,外延越大,也就是说它的涵义越小,泛化能力越强
比如,牛就要比水牛更抽象,因为它可以表达所有的牛,水牛只是牛的一个种类(Class)

  • 抽象程度越高,业务属性就越弱,把所有的类都叫 Object,把所有的参数都叫 Map 的系统最通用,但其实没有任何意义
  • 对于抽象层次的权衡,是我们系统设计的关键所在,也是区分普通程序员和优秀程序员的关键所在

重复代码是抽象的缺失

提取重复代码只是我们重构工作的第一步
对重复代码进行概念抽象,寻找有意义的命名才是我们工作的重点

锻炼抽象思维

  1. 多阅读
  2. 多总结沉淀
  3. 命名训练 + 领域建模训练

归纳

分析总结,沉淀方法论

分层

应对和管理复杂性

结构化

梳理规律和调理,结构化信息,产生知识树

有逻辑关系

大脑容易记住有逻辑关系的事物,逻辑关系分为纵向逻辑关系和横向逻辑关系

纵向逻辑关系

演绎逻辑:线性的,最终会为了得出一个由逻辑词“因此”引发的结论,比如因果关系
归纳逻辑:将一组具有共同点的事实、思想或观点归类分组,并概括其共同性/论点,比如不同的群体

横向逻辑关系

时间顺序:比如按照事务发展的时间线划分
空间顺序:比如按照地点空间来划分
程度顺序:比如重要的,不重要的来划分

资料

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant