目录
单元测试
在计算机编程中,单元测试(Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。 通常来说,程式設計師每修改一次程式就會進行最少一次單元測試,在編寫程式的過程中前後很可能要進行多次單元測試,以證實程式達到軟件規格書要求的工作目標,沒有程序錯誤;雖然单元测试不是什么必须的,但也不坏,這牽涉到專案管理的政策決定。 每个理想的测试案例独立于其它案例;为测试时隔离模块,经常使用stubs、mock或fake等测试马甲程序。单元测试通常由软件开发人员编写,用于确保他们所写的代码符合软件需求和遵循开发目标。它的實施方式可以是非常手動的(透過紙筆),或者是做成構建自動化的一部分。.
查看 开闭原则和单元测试
代码审查
代碼審查(Code review)是指對電腦源代码系統化地审查,常用的方式進行,其目的是在找出及修正在軟體開發初期未發現的錯誤,提升软件质量及開發者的技術。代碼審查常以不同的形式進行,例如结对编程、非正式的看過整個程式碼,或是正式的。.
查看 开闭原则和代码审查
伯特蘭·邁耶
伯特蘭·邁耶(Bertrand Meyer,),生於法國,程式語言專家,Eiffel程式語言的創造者,曾提出契约式设计觀念。.
查看 开闭原则和伯特蘭·邁耶
继承 (计算机科学)
继承(inheritance)是面向对象软件技术当中的一个概念。如果一个类別B「继承自」另一个类別A,就把这个B称为「A的子类」,而把A称为「B的父类別」也可以称「A是B的超类」。继承可以使得子类具有父类別的各种属性和方法,而不需要再次编写相同的代码。在令子类別继承父类別的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类別的原有属性和方法,使其获得与父类別不同的功能。另外,为子类追加新的属性和方法也是常见的做法。 一般靜態的物件導向程式語言,繼承屬於靜態的,意即在子類別的行為在編譯期就已經決定,無法在執行期擴充。 有些编程语言支持多重继承,即一个子类可以同时有多个父类別,比如C++编程语言;而在有些编程语言中,一个子类只能继承自一个父类別,比如Java编程语言,这时可以利用接口来实现与多重继承相似的效果。 現今物件導向程式設計技巧中,繼承並非以繼承類別的「行為」為主,而是繼承類別的「型態」,使得元件的型態一致。另外在設計模式中提到一個守則,「多用合成,少用繼承」,此守則也是用來處理繼承無法在執行期動態擴充行為的遺憾。.
面向对象程序设计
面向对象程序设计(Object-oriented programming,缩写:OOP)是種具有物件概念的程式編程典範,同时也是一种程序开发的抽象方针。它可能包含資料、、程式碼與方法。对象則指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,物件裡的程序可以訪問及經常修改物件相關連的資料。在物件導向程式編程裡,電腦程式會被設計成彼此相關的物件。 面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。目前已经被证实的是,面向对象程序设计推广了程序的灵活性和可维护性,并且在大型项目设计中广为应用。此外,支持者声称面向对象程序设计要比以往的做法更加便于学习,因为它能够让人们更简单地设计并维护程序,使得程序更加便于分析、设计、理解。反对者在某些领域对此予以否认。 当我们提到面向对象的时候,它不仅指一种程序设计方法。它更多意义上是一种程序开发方式。在这一方面,我们必须了解更多关于面向对象系统分析和面向对象设计(Object Oriented Design,简称OOD)方面的知识。許多流行的程式語言是物件導向的,它們的風格就是會透由物件來創出實例。 重要的物件導向程式語言包含Common Lisp、Python、C++、Objective-C、Smalltalk、Delphi、Java、Swift、C#、Perl、Ruby 與 PHP等。.
SOLID (面向对象设计)
在 程序设计领域, SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期, Sandi Metz (Duke University), Talk given at the 2009 Gotham Ruby Conference in May, 2009.
源代码
源代码(Source code),也称源程序,是指一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现;但最常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。.
查看 开闭原则和源代码
另见
类型论
- Lambda立方体
- ST类型论
- 依赖类型
- 值 (電腦科學)
- 协变与逆变
- 参数多态
- 变量 (程序设计)
- 合一
- 同伦类型论
- 型別安全
- 型別構造器
- 多元组
- 多态 (计算机科学)
- 子类型
- 定型环境
- 开闭原则
- 抽象資料型別
- 数学结构
- 新基础集合论
- 有序对
- 有类型λ演算
- 构造演算
- 枚举
- 柯里-霍华德同构
- 标签联合
- 特设多态
- 直觉类型论
- 简单类型λ演算
- 类型居留问题
- 类型推论
- 类型擦除
- 类型论
- 类型转换
- 系统F
- 组合范畴语法
- 複合型別
- 逻辑框架
- 里氏替换原则
- 類型系統
- 鸭子类型
编程原则
- 90-90法则
- KISS原则
- SOLID (面向对象设计)
- 一次且仅一次
- 三次法则 (程序设计)
- 代码复用
- 依赖反转原则
- 关注点分离
- 单一功能原则
- 封裝 (物件導向程式設計)
- 开闭原则
- 得墨忒耳定律
- 接口隔离原则
- 控制反转
- 更糟就是更好
- 松耦合
- 耦合性 (計算機科學)
- 里氏替换原则
- 防御性编程
- 黑箱
軟體設計
- SOLID (面向对象设计)
- 互動設計
- 元建模
- 单一功能原则
- 契约式设计
- 开闭原则
- 持續交付
- 接口隔离原则
- 更糟就是更好
- 模型驱动应用
- 結構化設計
- 編譯器編譯程式
- 约定优于配置
- 结构化分析
- 行为驱动开发
- 软件设计
- 面向对象的系统分析
软件开发哲学
- KISS原则
- Scrum
- Unix哲学
- 一次编写,到处编译
- 大教堂和市集
- 开闭原则
- 形式化方法
- 敏捷软件开发
- 更糟就是更好
- 最佳实践
- 极限编程
- 测试驱动开发
- 瀑布模型
- 看板 (软件开发)
- 精益软件开发
- 行为驱动开发
- 迭代式开发
面向对象的程序设计
- C3线性化
- CORBA
- IUnknown
- Is-a
- Microsoft接口定义语言
- Modelica
- OOPSLA
- ProgID
- RAII
- SOLID (面向对象设计)
- Windows Template Library
- Wolfram SystemModeler
- 介面 (資訊科技)
- 内省 (计算机科学)
- 协变与逆变
- 基于组件的软件工程
- 多态 (计算机科学)
- 子类型
- 对象 (计算机科学)
- 对象数据库
- 封裝 (物件導向程式設計)
- 开闭原则
- 得墨忒耳定律
- 抽象化 (計算機科學)
- 接口隔离原则
- 约定优于配置
- 组件对象模型
- 继承 (计算机科学)
- 耦合性 (計算機科學)
- 虚函数
- 軟體框架
- 通用網路物件
- 里氏替换原则
- 面向对象的系统分析
- 面向对象程序设计
- 鸭子类型