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

概念

体系结构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

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

测试阶段test coverage

代码安全性security scans

相关推荐
帅次4 天前
重塑在线软件开发新纪元:集成高效安全特性,深度解析与评估支持浏览器在线编程的系统架构设计
性能优化·重构·软件工程·软件构建·个人开发·代码规范·规格说明书
苦瓜汤补钙6 天前
论文阅读:RGBD GS-ICP SLAM
论文阅读·人工智能·重构
文火冰糖的硅基工坊7 天前
[机缘参悟-222] - 系统的重构源于被动的痛苦、源于主动的精进、源于进化与演进(软件系统、思维方式、亲密关系、企业系统、商业价值链、中国社会、全球)
重构
不能放弃治疗8 天前
如何做服务迁移、重构?
重构
后台技术汇9 天前
微服务重构:Mysql+DTS+Kafka+ElasticSearch解决跨表检索难题
mysql·elasticsearch·微服务·重构·kafka
LabVIEW开发11 天前
LabVIEW重构其他语言开发的旧系统
重构·labview
chink107211 天前
2024年最新微短剧系统重构版,短剧小程序源码开源源码搭建部署
微信小程序·小程序·重构·php·uniapp
VaporGas14 天前
设计之道:ORM、DAO、Service与三层架构的规范探索
java·重构·orm·设计规范·service·dao·三层架构
nn_3015 天前
WPS Office for Linux 12 个人版上线deepin 23商店:UI 视觉重构,新增多项 AI 功能
linux·运维·服务器·人工智能·windows·重构·wps
卜及中16 天前
【贪心算法】区间类算法题(整数替换、俄罗斯套娃、重构字符串等、C++)
c++·算法·贪心算法·重构