Content
设计模式之美整个课程的主要内容:
OOP vs OOPL
- 面向对象编程,
OOP
(Object Oriented Programming)是一种编程范式或编程风格,它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和思想的基石 - 面向对象编程语言,
OOPL
(Object Oriented Programming Language)是支持类或对象的语法机制,并有现成的语法机制,能方便地思想面向对象编程四大特性的编程语言
OOA vs OOD
- 面向对象分析,
OOA
(Object Oriented Analysis),就是要搞清楚做什么 - 面向对象设计,
OOD
(Object Oriented Design),就是要搞清楚怎么做
UML
统一建模语言,UML
(Unified Model Language).
Cheatsheet:
Code Quality
代码质量的评价有很强的主观性。
Maintainability
代码易维护指在不破坏原有代码设计、不引入新的bug的情况下,能够快速地修改或者添加代码。
Readability
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. —Martin Fowler
代码的可读性是评价代码质量德最重要的指标之一。
Extensibility
可扩展性表示代码应对未来需求变化的能力,我们在不或少量修改原有代码的情况下,通过扩展的方式添加新的功能代码。
Flexibility
灵活性是一个抽象的评价标准。
Simplicity
简洁性,KISS
原则:“Keep It Simple, Stupid”,尽量保持代码简单,逻辑清晰。
Reusability
可复用性指尽量减少重复代码的编写,复用已有的代码,与DRY(Don’t Repeat Yourself)原则的关系挺紧密。
Testability
代码可测试性的好坏,能从侧面上非常准确地反应代码质量的好坏。
思从深而行从简,真正的高手能云淡风轻地用最简单的方法解决最复杂的问题。
Reference
Note: Cover Picture