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


    概念

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

  • 相关阅读:
    SQL性能优化
    定档11月2日,YashanDB 2023年度发布会即将启航
    Swagger配置
    直流信号隔离测控光电转换器0-±10V1-5V转0-10V4-20mA导轨安装
    mybatis 自动化处理 mysql 的json类型字段 终极方案
    【Django】执行查询——比较、删除、复制、批量修改对象
    x.509
    Linux 进程替换深剖
    好用且强大——JNPF永远的神
    YOLOv5,YOLOv8添加ASFF(自适应空间特征融合)
  • 原文地址:https://blog.csdn.net/David_Hzy/article/details/132694296