概念
体系结构Architecture:项目架构
scffolding:本意脚手架,
接口API:应用编程接口,
引擎Engine:
工具包SDK:软件开发工具包,JDK是java的SDK
框架Framework:具体的体系结构,体系结构是一种思想,一个Framework可能用多个体系结构
库Library:代码的集合,用来完成任务,关联紧密,概念抽象,通常为使用者提供调动
设计模式Design pattern:一种解决问题的方案
惯用法Programming idiom:高效的写法
编程范式
编程范式基于编程本身的方法论
关于语言执行,代码组织,语言语法与词汇
Paradigm&Language
一个语言可以有多个Paradigm
一个Paradigm可以应用至多个语言
命令式编程范式Imperative Paradigm
给出详细的解决方案
特点:
1.有可修改的变量与赋值
模块化编程Procedural Programming
是结构化编程的升级版
特点:不在main方法写过程,main只调用其他模块化方法
使用场景:
优势:简单,容易跟踪程序流
结构化编程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
在不改变功能的前提下,将原始代码重新编译