关于概念及概念完整性的思考

1,992 阅读11分钟

引子:本文源于对《人月神话》和《设计原本》的作者Brooks所主张的“概念完整性是系统设计中最重要的因素”这一观点的深入思考。本着追本溯源的宗旨,深入学习和思考了什么是概念和概念完整性,并对如何做到概念清晰和保持概念完整性总结了个人经验。

一、什么是概念

  从字面意思看,概指的是在一定的范围内,如大概、概况、概莫能外;念指思维,如杂念、理念。因此,概念的字面意思可理解为“大概的思想认识”。

  参照百科,概念一词在哲学(逻辑学)上的定义为:是对事物本质属性的概括。是人类在认识过程中,从感性认识上升到理性认识,把所感知的事物的共同本质特点抽象出来,加以概括所形成的一种自我认知的表达(通常采用文字表达)。

  心理学上认为,概念是人脑对客观事物本质的反映,并以词来标示和记载的。概念是思维活动的结果和产物,同时又是思维活动借以进行的单元。

  概念有“内涵”与“外延”两个属性:内涵指概念所反映的事物的本质属性的总和;外延指适合于某一概念的一切对象,即概念的适用范围。

  内涵和外延具有反比的关系,即,概念的内涵越多其外延越小,反之,内涵越少外延越大。当谈及某个概念时,区分其内涵和外延是非常重要的。例如先秦著名诡辩家公孙龙的“白马非马”问题,其实就是混淆了内涵与外延。白马和马作为两个概念,从内涵来说,当然是不同的,因此白马≠马,但是从外延来说,白马的外延属于马的外延的子集,因此白马当然是马了。

  另外,根据外延的大小,概念之间会有层级关系,高层级的概念其外延大于低层级的概念。根据概念形成的过程(即对事物进行对比、反思、抽象的思维过程),越高层级的概念意味着其抽象程度越高,具象化程度越低。如中国人、人类、动物、生物这几个概念,其层级越来越高,越来越抽象,外延也越来越大。

二、概念的重要性

  概念是人类思维体系中最基本的构筑单位,换句话说,我们所有的理性认知、知识体系是建立在形形色色的概念之上的,可见概念何其重要。下面从三个方面进一步说明。

1 理性认识 理性认识有三种形式,即概念、判断、推理。其中概念是最基本的,相当于公理在欧氏几何中的地位。判断是指在概念的基础上对事物的各种关系进行区分、识别;推理是指由一个已知的判断推出下一个判断。由此可见,没有清晰的概念,判断与推理无法进行,理性认识便沦为空谈。

2 逻辑思维 逻辑思维有时也被称作概念思维,是指将思维内容联结、组织在一起的方式或形式。而思维是以概念、范畴为工具去反映认识对象的。可见,如果没有清晰的概念,便无法进行有效的逻辑思维,那么人对世界的认知也就只能停留在初级的感性认识阶段了。

3 概念技能 美国著名的管理学学者罗伯特.卡茨,曾经提出管理的三大技能,其中概念技能被认为是高阶管理者最重要的技能(另外两个是技术技能和人际技能)。所谓概念技能是指,一种洞察既定环境复杂程度和减少这种复杂性的能力。指能够统观全局、面对复杂多变的环境,进行分析、判断、抽象和概括并认清主要矛盾,抓住问题实质,形成正确概念,从而做出正确决策的能力,也就是洞察组织与环境要素间相互影响和作用关系的能力。可见搞清楚概念也是职场升迁的必备技能。

三、概念完整性

  计算机科学巨匠Frederick P. Brooks在他的经典著作《人月神话》(第4章)和《设计本原》(第6章)两本书中,都强调了【概念完整性】对软件系统的重要性。或许是由于翻译的原因,我对概念完整性的理解还破费了一番周折。下面详细解释一下。

  首先还是看字面意思,概念完整性的英文是Conceptual integrity。Conceptual是形容词,含义是:概念(上)的、观念(上)的。Integrity含义为:完整完好,诚实正直。因此准确的翻译应该是:概念上的完整性。

  在《人月神话》中作者并未给出概念完整性的定义,只是借用“欧洲的教堂建筑风格能够在经历几代人的建设中始终保持风格统一”来隐喻或让读者意会什么是概念完整性。在《设计原本》中,谈及概念完整性时,作者提到了一堆近义词:内聚(coherence)、一致性(consistency)、风格统一(uniformity of style)、组件原则的正交性(orthogonality)、妥当性(propriety)、通用性(generality)等。

  为了更好地理解什么是概念完整性,我们不妨再类比两个类似的概念。

  类比1:数据库完整性,指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。

  类比2:信息完整性,是信息安全的三要素之一(另两个是:保密性和可用性),是指保证信息从真实的发信者传送到真实的收信者手中,传送过程中没有被非法用户添加、删除、替换等。

  综上所述,我个人理解,所谓概念完整性,是指在设计时保持统一的风格和理念,对设计中涉及到的所有概念有完整且一致的解释,并能确保团队所有成员对所有概念都有着相同的理解。

  当我们谈论某事物的概念完整性时,其实是在说,在概念上这个东西要保持完整。例如,当设计一个软件系统时,我们说要保持概念完整性,其实就是在说,系统的设计方案要保持使用统一的一套概念术语来描述,设计风格要统一,设计方案在团队成员间传阅时,要让所有人理解一致。

四、如何做到概念清晰和概念完整

1 做到概念清晰

  要做到概念清晰,我认为可以遵循儒家所倡导的认识和修养的方法,即:学问思辨行。
学: 要博学,广泛阅读吸收精华,正所谓博观而约取,要用好搜索百科等工具。
问: 要审问,追根溯源、反复推敲,与他人讨论,要好为人徒。
思: 要慎思,缜密思考,要多写多画,善于用笔思考。
辨: 要明辨,明晰分辨,尝试用自己的语言为概念下定义,要聚焦其内涵。
行: 要笃行,知行合一,任何时候都重视概念的清晰表达,如在产品设计或编码开发中,对命名要多花点心思,在引入新的概念或框架时要慎之又慎,要遵循奥卡姆剃刀原则。

  概念清晰化是一个过程,可能对于不同悟性的人来说这个过程或长或短,但只要坚持【实践-理论-再实践】的循环认知法,任何概念都是可以被任何人搞清楚的(参见毛选第一卷《实践论》)。

2 保持概念完整性

  保持概念完整性,在团队协作中尤为重要,下面从正反两方面谈一些个人建议。
正: 要使用统一的术语、概念、技术框架、编码风格、命名约定等,要鼓励使用标准术语。
反: 不要使用黑话,不随意命名,不私自引入未经集体评审过的框架/类库等,要及时纠正错误或不严谨的术语。

  上述正的方面,主要指促进概念完整的言行规范;反的方面指破坏概念完整性的言行习惯。这些建议都是我在现实工作中观察发现的,对保持概念完整性非常重要的做法。这些建议都很细小,偶尔做到其中一两点并不难,难的是团队所有人持续地做好正反两方面所有的事,进而养成一个团队的良好习惯,这些习惯或将成为一个团队最鲜明的风格和促使团队成功的长期因素。

五、谨记概念与现实的区别

  概念具有指代性(中介性),它只存在于人脑中,而与概念对应的现实事物则存在于客观世界中,一定要牢记【概念!=现实】。因为有时候,当我们太执着于概念空间时,可能会忘掉概念与现实的不等关系,容易犯下本末倒置的错误。这里分享一个小故事:

记得几年前,在一个敏捷教练的培训课上,老师(一个外国老头)在黑板上画了一只小船,然后指着那幅画问大家:这是什么?大家很纳闷,但还是三言两语地回答到:船/帆船/小船。谁知老头这时非常严肃地说:错!这是一幅画,它并不是真正的船。\

六、概念及完整性的示例

  通常,为了弄清楚一个概念准确而完整的内涵往往是需要一个过程的,甚至是一个漫长的过程。而保持对事物在概念上的完整性则更需要付出巨大的努力。下面举例说明。1 元宇宙

  所谓元宇宙,简单说就是虚拟现实。元宇宙英文为metaverse,从造词结构来说,是仿照universe生造的一个词。拆分了看就是uni加verse,那verse不用说可以理解为宇宙,meta是个词根,表示“元、超越”的意思。所以元宇宙其实是个外来词,一个直译的外来词。

  元宇宙一词最早出现在1992年的科幻小说《雪崩》中,小说描述了像电影《头号玩家》所呈现的那么一个虚拟世界。差不多30年后,到了2021年,随着Facebook改名为Meta,在资本市场的推动下,一大波元宇宙概念股疯狂上涨,这促成了元宇宙这个概念在世界范围内的迅速广泛传播。经过29年的名不见经传和1年的广泛深入探讨,时至今日,元宇宙这个概念的内涵已日趋清晰统一。那就是:利用科技手段进行链接与创造的,与现实世界映射与交互的虚拟世界,具备新型社会体系的数字生活空间(北京大学陈刚教授、董浩宇博士定义)。

  由此可见,搞清楚一个概念是多么不容易,而从元宇宙带来的经济效益看,搞清楚一个概念又是多么重要。

2 低代码平台

  低代码平台是当下软件开发领域比较火的一个概念,这也是一个很好的示例,但鉴于我曾经写过相关文章,这里不再赘述,感兴趣的朋友可翻看本号#apaas合集下的文章。

我正在参与掘金技术社区创作者签约计划招募活动,点击链接报名投稿