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


    概念

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

  • 相关阅读:
    java-php-python-至臻阁古董拍卖网计算机毕业设计
    python连接自己的机器人接口在微信聊天
    awk的使用
    致敬技术与创新·20231024程序员节
    Ubuntu下ClickHouse安装
    Go 深入解析非类型安全指针
    一些银行相关暑期找实习记录
    mysql 三个日志总结
    CMMI是什么? 看完这篇你就懂了
    nginx配置不同通信协议的端口转发
  • 原文地址:https://blog.csdn.net/David_Hzy/article/details/132694296