【软件开发与重构】基本知识、编程范式

概念

体系结构Architecture:项目架构

scffolding:本意脚手架,

接口API:应用编程接口,

引擎Engine:

工具包SDK:软件开发工具包,JDK是java的SDK

框架Framework:具体的体系结构,体系结构是一种思想,一个Framework可能用多个体系结构

库Library:代码的集合,用来完成任务,关联紧密,概念抽象,通常为使用者提供调动

设计模式Design pattern:一种解决问题的方案

惯用法Programming idiom:高效的写法

编程范式

编程范式基于编程本身的方法论

关于语言执行,代码组织,语言语法与词汇

Paradigm&Language

一个语言可以有多个Paradigm

一个Paradigm可以应用至多个语言

命令式编程范式Imperative Paradigm

给出详细的解决方案

特点:

1.有可修改的变量与赋值

2.

模块化编程Procedural Programming

是结构化编程的升级版

特点:不在main方法写过程,main只调用其他模块化方法

使用场景:

1.

2.

3.

4.

优势:简单,容易跟踪程序流

结构化编程structural Programming

子过程:没有返回值

控制代码块:影响生命周期

面向对象编程object-oriented Programming

最受欢迎的编程范式

机制:

优势:数据安全,代码复用,灵活抽象

声明式编程范式Declarative Paradigm

逻辑式编程Logic Programming

函数式编程Functional Programming

简洁直观

事件驱动编程Event-Driven Programming

代码质量保证code quality assurances

代码质量

code quality

衡量指标

效率efficiency

可靠性reliability

代码具有所需功能且不会出错

鲁棒性robustness

在输入错误或环境压力大的情况,系统仍能提供服务的能力

可维护性Maintainability

容易修改

方法:

复用性reusability

可读性readability

可测试性testability

简单simplicity

检查代码质量

静态分析static analysis

在代码运行前,直接看代码

好处:快速,

代码走查code review

一个团队一起看代码

review the code by the team member manually

好处:无自我中心编程Ego-less Programming,find defects,results in better estimations

方式:inspections,走查walkthroughs,short review

设计阶段design stage

实现阶段implementation coverage

防御式编程defensive programming

针对对软件的恶意攻击的编程方式

怎么做:防御任何外部输入

卫语句

断言Assertion:检查后置条件

异常Exception

调试debugging

重构refactoring

在不改变功能的前提下,将原始代码重新编译

测试阶段test coverage

代码安全性security scans

你可能感兴趣的:(重构)