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

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

一、什么是概念

  从字面意思看,概指的是在一定的范围内,如大概、概况、概莫能外;念指思维,如杂念、理念;因此,概念的字面意思可理解为“大概的思想认识”。
  参照百科,概念一词在哲学(逻辑学)上的定义为:是对事物本质属性的概括。是人类在认识过程中,从感性认识上升到理性认识,把所感知的事物的共同本质特点抽象出来,加以概括所形成的一种自我认知的表达(通常采用文字表达)。
  心理学上认为,概念是人脑对客观事物本质的反映,这种反映是以词来标示和记载的。概念是思维活动的结果和产物,同时又是思维活动借以进行的单元。
  在逻辑学上,概念的结构分为“内涵”与“外延”。
内涵:指概念所反映的事物的本质属性的总和。
外延:指适合于某一概念的一切对象,即概念的适用范围。
  内涵和外延具有反比的关系,即,概念的内涵越多其外延越小,反之,内涵越少外延越大。当谈及某个概念时,区分其内涵和外延是非常重要的。例如先秦著名诡辩家公孙龙的“白马非马”问题,其实就是混淆了内涵与外延。白马和马做为两个概念,从内涵来说,当然是不同的,因此白马≠马,但是从外延来说,白马的外延属于马的外延的子集,因此白马当然是马了。

二、概念的重要性

  概念是人类思维体系中最基本的构筑单位,换句话说,我们所有的理性认知、知识体系是建立在形形色色的概念之上的,可见概念何其重要。下面从三个方面进一步说明。
1 理性认识
  理性认知有三种形式,即概念、判断、推理。其中概念是最基本的,相当于欧氏几何中的公理。判断是指在概念的基础上对事物的各种关系进行区分、识别;推理是指由一个已知的判断推出下一个判断。由此可见,没有清晰的概念,何谈判断与推理。
2 逻辑思维
  逻辑思维有时也被称作概念思维,是指将思维内容联结、组织在一起的方式或形式。而思维是以概念、范畴为工具去反映认识对象的。可见,如果没有清晰的概念,便无法进行有效的逻辑思维,那么人对世界的认知就只能停留在初级的感性认识阶段了。
3 概念技能
  美国著名的管理学学者罗伯特.卡茨,曾经提出管理的三大技能,其中管理技能被认为是高阶管理者最重要的技能(另外两个是技术技能和人际技能)。所谓概念性技能是指,一种洞察既定环境复杂程度和减少这种复杂性的能力。指能够统观全局、面对复杂多变的环境,进行分析、判断、抽象和概括并认清主要矛盾,抓住问题实质,形成正确概念,从而做出正确决策的能力,也就是洞察组织与环境要素间相互影响和作用关系的能力。

三、概念完整性

  计算机科学巨匠Frederick P. Brooks在他的经典著作《人月神话》(第4章)和《设计本原》(第6章)两本书中,都强调了【概念完整性】对软件系统的重要性。或许是由于翻译的原因,我对概念完整性的理解还破费了一番周折。下面详细解释一下。
  首先还是看字面意思,概念完整性的英文是Conceptual integrity。Conceptual是形容词,含义是:概念(上)、观念(上)的。Integrity含义为:完整完好,诚实正直。因此准确的翻译应该是:概念上的完整性。
  在《人月神话》中作者并未给出概念完整性的定义,只是借用“欧洲的教堂建筑风格能够在经历几代人的建筑中始终保持风格统一”来隐喻或让读者意会什么是概念完整性。在《设计原本》中,谈及概念完整性时,作者提到了一堆近义词:内聚(coherence)、一致性(consistency)、风格统一(uniformity of style)、组件原则的正交性(orthogonality)、妥当性(propriety)、通用性(generality)等。
  为了更好地理解什么是概念完整性,我们不妨再对比两个类似的概念。
类比1:数据库完整性,指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。
类比2:信息完整性,完整性是信息安全的三要素之一(另2个要素:保密性和可用性),是指保证信息从真实的发信者传送到真实的收信者手中,传送过程中没有被非法用户添加、删除、替换等。
  综上所述,我个人理解,所谓概念完整性,是指在设计时保持统一的风格和理念,对设计中涉及到的所有概念有完整且一致的解释,并能确保团队所有成员对所有概念都有着相同的理解。当我们谈论某个对象的概念完整性时,其实是在说,在概念上这个东西要保持完整。例如,当设计一个软件系统时,我们说要保持概念完整性,其实就是在说,系统的设计方案要保持使用统一的一套概念来描述,设计风格要统一,设计方案在团队成员间传阅时,要让所有人理解一致。

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

1 做到概念清晰
  要做到概念清晰,我认为可以遵循儒家所倡导的认识和修养的方法,即:学问思辨行。
学:要博学,广泛阅读,博观约取,用好搜索百科等工具。
问:要审问,追根溯源、反复推敲,要与人讨论、好为人徒。
思:要慎思,缜密思考,善于用笔思考,要多写多画。
辨:要明辨,明晰分辨,用自己的语言为概念下定义,聚焦其内涵。
行:要笃行,知行合一,任何时候都重视概念的清晰表达,如在产品设计或编码开发中,对命名花点心思,引入新的概念或框架时要慎之又慎,遵循奥卡姆剃刀原则。
2 保持概念完整性
保持概念完整性,在团队协作中尤为重要,从正反两方面来说:
正:要使用统一的术语、概念、技术框架、编码风格、命名约定等;
反:不要使用黑话、随意命名、私自引入未经集体评审的框架/类库等。

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

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

你可能感兴趣的:(关于概念及概念完整性的思考)