里氏 原则lsp

软件设计中的一些原则介绍

软件设计原则介绍: 软件设计的目的:代码复用性、可扩展性、可维护性。 ## 高内聚低耦合(High Cohesion & Low coupling) 高内聚,就是对软件系统中元素职责相关性和集中度高的功能放一起。在编写代码时,代码内的功能职责相关性高的放在一起。 与之相反 - 低耦合,低耦合是对元素 ......
原则 软件

工程师的十条精进原则

这篇博客内容是我三年前刚入职不久在其他地方浏览并二次整理的,如今三年岁月匆匆而过,回头再次 check 了下这十条原则,体会更加深刻。 一. Owner意识 体现在两个层面:一是认真负责的态度,二是积极主动的精神 认真负责是工作的底线。 首先,要对我们交付的结果负责。项目中每一个设计文档、每一行代码 ......
原则 工程师 工程

钉钉通知处理原则

钉钉异常,通知原则 越来越少 例如: 业务中,这种先注销,后退学的,那这种的不会引起什么问题 就可以不用再通知了 ; 比如其他原因的通知的,那能不能从业务和程序层面处理 处理完也不再通知了; 最终的效果就是通知的越来越少 ,甚至都没通知了, 才是最好的。 处理完不再通知 ,不是说不让通知了。而是把这 ......
处理原则 原则

开闭原则

开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 实现开闭原则的核心思想就是面向抽象编程,现在我们思考一个场景,有一个课程类,课程类作为父类,有许多子类,比如java课程,python课程,前端课程... 课程类中有价格属性 ......
原则

Pytest用例设计原则

用例设计原则 文件名为test_*.py和*_test.py 以test_开头的函数 以Test开头的类,test_开头的方法,并且不能有__init__方法 所有的package包必须有__init__文件 断言使用assert 常用断言 assert xx 判断xx为真 assert not x ......
原则 Pytest

设计原则

一 单一职责原则 职责: 引起变化的原因 SRP原则:一个对象(方法)只做一件事 SRP原则的应用难点就是如何去分离职责 1 何时应该分离职责 并不是所有职责都应该一一分离 如果随着需求变化,职责总是同时变化的就不必分离 创建xhr对象 & 发送xhr请求 职责的变化轴线仅当他们确定会发生变化时才有 ......
原则

禅道软件设计六大原则

每一个产品都是为了解决某个问题而产生的,在诞生之初都是有自己的目标和原则的。只不过随着时间发展,产研团队慢慢更换,很多东西就慢慢丢掉了,改变了。所以在设计完善禅道项目管理软件的时候,我一直都比较恐慌,唯恐哪一天禅道也变成了自己不喜欢的样子。于是也有了一些自己固执地坚持,不肯妥协的原则,跟大家分享下。 ......
原则 软件

[设计模式]设计原则

参考:https://zhuanlan.zhihu.com/p/24614363 https://zhuanlan.zhihu.com/p/422737773 面向对象设计原则 1、开闭原则: 当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 ......
设计模式 原则 模式

3W原则

在多层板设计中,为了减少线间串扰,应保证线间距足够大,如果线中心距不少于 3 倍线宽时,则可保持70%的线间电场不互相干扰, 称为“3W 原则”。 ......
原则

开发原则性问题

1、参考 参考现有的ui、模块、算法、步骤,吸收精华,尝试优化,融合进自己的框架 承认别人造的轮子是有可取之处的,完全的闭门造车是对开发结果的不负责 但是,是借鉴而不是照抄。从文档和注释、命名习惯、优化空间、与自身框架和编程语言的兼容性等,都要求具有自己的思考过程和实现 2、开发步骤 (1)考虑能否 ......
原则性 原则 问题

《花雕学AI》AI 人工智能伙伴关系的指南:遵循原则,实现实践,展望未来

引言:人工智能(AI)是指由人造的机器或系统所展现出的智能,它可以模拟或扩展人类的认知功能,如学习、推理、感知、交流等。 人工智能的发展和应用已经深刻地影响了社会、经济、文化和政治等各个领域,同时也带来了一系列的伦理和社会问题,如隐私、安全、责任、公平、透明等。 为了应对这些挑战,需要建立人工智能与 ......
花雕 人工智能 人工 伙伴 原则

软件开发、设计、架构的其他原则

LOD:迪米特法则(Law of Demeter) CRP:合成复用原则(Composite Reuse Principle) DRY:不要重复你自己原则 (Don’t Repeat Yourself Principle) KISS:KISS原则 (Keep It Simple and Stupid ......
架构 软件开发 原则 软件

吴恩达Prompt课 - 02 构建原则

吴恩达和 OpenAI 一起制作了节一个半小时的,面向开发者的关于 《ChatGPT Prompt Engineering》 的课,对自己Prompt提高非常有帮助。 英文课程地址: https://www.deeplearning.ai/short-courses/chatgpt-prompt-e ......
原则 Prompt 02

如何避免单点风险:基于实践经验分享服务拆分原则的一些思考

缘起:系统崩了 具体情况:1%的请求影响了剩余90%的请求 架构演进:拆分热点服务【进程级隔离】 复盘 总结 拆服务的经典实践 不能变形的变形金刚也叫变形金刚? 缘起系统崩溃了?别惊慌!这里有快速恢复的方法!分析发现,网站崩时服务X被流量打垮,继而依赖服务X的其它服务开始互相“踩踏”,最终崩溃。网站 ......
原则 风险 经验

KISS原则

Keep It Simple,Stupid(通常缩写为:KISS),是计算机编程中的一个很有名的原则。KISS原则目的是简单,就是一目了然的简单,和“简单就是美”是一个概念。stupid在这里没有贬义,和“傻瓜机”里的“傻”是一个用法,就是易上手,易操作的意思。 ......
原则 KISS

软件开发、设计、架构的五大原则

唯一不变的就是变化本身。 我们经常讲的系统、子系统、模块、组件、类、函数就是从逻辑上将软件一步步分解为更细微的部分,即逻辑单元, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。 逻辑单元内部、外部的交互会产生依赖,从而产生了内聚、耦合概念。内聚主要描述逻辑单元内部,耦合主要描述逻辑单元之间的关 ......
架构 软件开发 原则 软件

软件开发、设计、架构的五大原则

唯一不变的就是变化本身。 我们经常讲的系统、子系统、模块、组件、类、函数就是从逻辑上将软件一步步分解为更细微的部分,即逻辑单元, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。 逻辑单元内部、外部的交互会产生依赖,从而产生了内聚、耦合概念。内聚主要描述逻辑单元内部,耦合主要描述逻辑单元之间的关 ......
架构 软件开发 原则 软件

结构化状态的原则

结构化状态的原则 当您编写一个保存某些状态的组件时,您必须选择使用多少个状态变量以及它们的数据应该是什么形状。虽然即使使用次优状态结构也可以编写正确的程序,但有一些原则可以指导您做出更好的选择: 1.组相关状态。如果您总是同时更新两个或多个状态变量,请考虑将它们合并为一个状态变量。 2.避免状态上的 ......
状态 原则 结构

软件工程:阿姆达尔定律,性能设计和优化的指导原则

hi,我是熵减,见字如面。 在软件开发中,你是否做过性能的优化,譬如: 有一个图片处理的程序,其中包含一个函数用于对图片进行滤镜处理。该函数中包含两个部分:一个可并行化的部分和一个串行部分。可并行化的部分用于对图片的每个像素进行计算,而串行部分用于对处理后的图片进行保存操作。我们通过优化可并行化部分 ......
软件工程 定律 原则 性能 工程

索引设计的原则

为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。索引设计不合理或者缺少索引都会对数据库和应用程序的性能造成障碍。高效的索引对于获得良好的性能非常重要。设计索引时,应该考虑相应准则。 一、适合创建索引的11中情况 1、字段的数值有唯一性的限制 在数据库表中,如 ......
索引 原则

软件项目管理应该遵循的7条基本原则

美国著名软件工程专家勃姆(B.W.Boehm)在总结软件工程准则和信条的基础上,于1983年提出软件工程的7条基本原则,也是软件项目管理应该遵循原则。勃姆认为,这7条原则是确保软件产品质量和开发效率的原理的最小集合,相互独立但结合得相当完备。 1.用分阶段的生命周期计划严格管理。统计表明,不成功的软 ......

关于敏捷开发、系统重构、设计原则、设计模式之间的思考

敏捷开发、系统重构、设计模式是软件开发中不同的概念,它们之间有一些联系和相互影响。 敏捷开发方法强调快速响应客户需求,通过迭代和增量的方式来开发软件。在敏捷开发中,设计模式可以被用来提高软件质量和可维护性,因为设计模式是已经被证明有效的软件设计方案。在开发过程中,团队可以使用设计模式来提高代码的复用 ......
设计模式 原则 之间 模式 系统

第8章_索引的创建与设计原则

1. 索引的声明与使用 1.1 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从 功能逻辑 上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。 按照物理实现方式 ,索引可以分为 2 种:聚簇索引和非聚簇索引。 按照作用字段个数 ......
索引 原则

价值投资中简单实用的基本原则是什么?

在投资股票时,深入的研究有利于得出正确的判断,系统的方法有利于做出明智的决策,支付合理的价格才能获得丰厚的利润,这是投资中的基本道理。 价值投资法一点也不神秘,巴菲特曾经感慨道:“正是因为‘价值投资’太简单,所以人们不太愿意传授它。”投资者不需要复杂的经济模型,只要你拥有正确的心态,即可灵活运用这些 ......
基本原则 原则 价值

作业2:读书笔记——软件设计原则、设计模式

|这个作业属于哪个课程|https://edu.cnblogs.com/campus/gdgy/2022softwarecodedevelopmenttechnology| |:--|:--| |这个作业要求在哪里|https://edu.cnblogs.com/campus/gdgy/2022so ......
设计模式 原则 模式 笔记 软件

优化代码的原则?

集中原则,最短距离原则。就是要让你声明的变量和你使用变量的地方越近越好。聚合性和耦合性是难舍难分的,必须要高内聚,才能达到低耦合。如果一个变量在顶部声明,底部才用,那么肯定不是一个好的写法。如果一个参数传入了这个方法,却在这个方法里面又传入了另一个方法里用,明显非常不合理,浪费了内存。看见高内聚低耦 ......
原则 代码

变量定义命令定义就近原则

变量定义命令定义就近原则 变量定义命令定义变量定义命令定义就近原则就近原则 变量定义命令定义就近原则变量定义命令定义就近原则 变量定义命令定义就近原则 变量定义命令定义就近原则 变量定义命令定义就近原则 (远交近攻) ......
变量 命令 原则

Java笔记(六):设计原则

SOLID原则是面向对象设计和编程中的一组基本原则,其中SOLID分别是以下五个原则的首字母缩写: 单一职责原则(Single Responsibility Principle,SRP)。一个类或者模块只应该有一个单一的责任。这个原则告诉我们,一个类应该只负责一项功能,不要试图把太多的职责塞到一个类 ......
原则 笔记 Java

依赖倒置原则

依赖倒置原则 /** * 依赖倒置原则(DIP) * TV(打开之前,)就可以控制灯的开关状态 * 高方法,实现前,必须实现低方法, 执行入库前,记录日历 */ public class dipTest { // 定义一个接口:开关 public interface Switchable { voi ......
原则

里氏替换原则

里氏替换原则 /** * 里氏替换原则(LSP) * 接口多实现, * 新建类,接口当参数入参, */ public class lspTest { //打折活动 public interface Alarm { double addAlarm(double price); } //折扣不同,海康 ......
里氏 原则