首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏深入浅出Java

    关于Java异常处理的9原则

    关于Java异常处理的9原则在Java编程中,合理有效地处理异常对于保证程序的稳定性和可维护性至关重要充分发挥异常优点,可以提高程序可读、可靠、可维护性本文基于Effective Java 异常章节总结 9条异常处理原则只针对异常情况才使用异常不要使用异常来做程序的流程控制,只有针对异常情况才使用异常不主动判断数组下标是否越界,而使用异常控制流程的反例: int[] ints = {1,

    73731编辑于 2024-07-31
  • 来自专栏巴啦啦的积累

    《架构整洁之道》第 9 章 LSP:里氏替换原则

    里氏替换原则:(LSP :Liskov Substitution Principle)。使用一个父类对象,替换成该父类对象的子类对象后,该程序不会发生异常。 这样就是符合LSP原则的。图片正方形/长方形问题以下设计中,正方形/长方形问题,是一个著名的违反LSP的设计案例。图片可以看到,User调用Rectangle为获得长方形的面积,可设置宽高。 然而随着时间推移,LSP演变成了一种更广泛的,指导接口与其实现方式的设计原则

    45130编辑于 2023-05-25
  • 来自专栏用户4667108的专栏

    如何判断蜘蛛的真实性

    前言 最近又想挖坑了,由于开发的网页模板计划对seo极差,只能单独给出seo页面,但是为了避免滥用,我们也要考虑很多事情那我们又要如何判断蜘蛛是否就是真的蜘蛛呢? 调查文档 网上的大多数方法是根据ua

    1.5K20发布于 2020-04-16
  • 来自专栏小语雀网

    JS身份证真实性验证

    ; return false; } //身份证真实性验证 function testId(value) { var vcity = { 11: "北京", 12: "天津 if (len == '18') { var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9] card); var len = card.length; if (len == '18') { var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9' 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9'

    2.3K10编辑于 2022-05-06
  • 来自专栏闻语博客

    JS身份证真实性验证

    ; return false; } //身份证真实性验证 function testId(value) { var vcity = { 11: "北京", 12: "天津 if (len == '18') { var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9] card); var len = card.length; if (len == '18') { var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9' 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9'

    2.8K10发布于 2021-01-21
  • 来自专栏JAVA乐园

    如何部署服务 & 要记住的 9 个干净代码原则

    要记住的 9 个干净代码原则 有意义的名称:为变量和函数命名以揭示它们的用途,而不仅仅是它们的值。 一个功能,一个责任:功能应该做一件事。 避免使用幻数:将硬编码值替换为命名常量以赋予它们含义。

    29010编辑于 2025-05-25
  • 来自专栏明志德到的IT笔记

    《软件开发的201个原则》—— 一般原则、需求原则、设计原则、编码原则、测试原则、管理原则、产品原则、演变原则

    原则9 促使开发者与客户的目标一致 项目经常会因为客户和开发人员的目标不同(或不兼容)而失败。一个简单的案例是,客户希望在特定日期前获得特性1、2、3,而开发人员希望最大化营收或利润。 用户应该拨“9”。系统应该在10秒内返回一个不同的拨号音。 系统包含四种状态: 空闲、拨号音、不同的拨号音和接通。要从“空空闲”状态转换到“拨号音”状态,应拿起电话。 要从“拨号音”状态转换到“不同的拨号音”状态,应拨“”。 请注意,后一段文字描述完全没给读者提供帮助。 译者注 [1] Don Reifer,是一位软件工程方面的专家,拥有40年以上的工作经验,已出版9本专著。详情请参见链接9。 第9章 演变原则 演变是与修改软件产品相关的一系列工作,用于: 1.满足新功能。 2.更有效地运行。 3.正常运行(当检测到原始产品中的错误时)。

    1.9K20编辑于 2023-10-21
  • 来自专栏蚂蚁开源社区

    前端必备,响应式Web设计的9项基本原则

    因此,现在就让我们来说明一下如何运用响应式web设计的各项基本原则来实现,而不是抗拒流畅的网页体验。

    87110编辑于 2022-01-18
  • 来自专栏技术之路

    设计原则——开闭原则

    什么是开闭原则? 在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,即应当可以在不必修改源代码的情况下改变这个模块的行为。 如何运用开闭原则? 开闭原则解决问题的关键在于抽象化,把系统所有可能的行为抽象成一个抽象底层,这个抽象底层规定出所有的具体实现必须提供的方法的特征,给系统定义出一个一劳永逸,不再修改的抽象设计,此设计允许有无穷尽的行为在实现层被实现 遵守开闭原则进行如下改变 打折类: public class OffNovelBook extends NovelBook { public OffNovelBook(String name price,String author){ super(name,price,author); } //覆写价格方法,当价格大于40,就打8析,其他价格就打9

    39600编辑于 2024-04-23
  • 来自专栏PM吃瓜(公众号)

    pdca原则 & smart 原则

    Plan:制定目标与计划 Do:任务展开,组织实施 Check:对过程中的关键点和最终结果进行检查 Action:纠正偏差,对成果进行标准化,并确定新的目标,制定下一轮计划 smart 原则 人们在制定工作目标或者任务目标时

    2.4K10编辑于 2023-03-02
  • 内容严格遵循真实性、准确性和完整性原则

    真实性:所有信息基于原始材料,未添加未提及细节或主观推测。 准确性:聚焦决策价值指标,粗体标注关键数据/结论,并注明数据来源(原始材料)。 四、典型案例 (材料未提供具体客户案例信息,此部分基于真实性原则省略。) 总结 腾讯云EdgeOne平台提供一体化边缘安全加速服务,结合整合版DDoS高防强化防护能力。

    7810编辑于 2026-04-01
  • 来自专栏求道

    设计原则之开闭原则

    StringFormatUtil.stringFormat(MSG)); } } 程序必须首先让人类理解,然后顺便让机器能执行^_^xxxx Process finished with exit code 0 总结 通过上述代码可以知道,开闭原则是是为了避免过多的修改原有的代码逻辑 ,用扩展代替修改而衍生的一个原则,不可否认,他也是所有的设计模式都想表达的一个结果,高扩展性。 开闭原则也并不是免费的。有些情况下,代码的扩展性会跟可读性相冲突。比如,我们之前举的 StringFormat格式化的例子。

    84230发布于 2020-09-15
  • 来自专栏深度学习自然语言处理

    腾讯阿里同时被曝裁员,真实性如何?

    9月,腾讯启动小业务部门的裁员工作;12月,爱奇艺被曝裁员且比例高达20%以上。同时,快手也传出边缘业务线被优化的消息……春节过后这波“裁员潮”也变得更加猛烈。 要说扩张迅速,国内几大巨头面前,腾讯还不是最激进的,光是2020年一年,字节的员工就从6万增加到10万;而阿里更夸张,根据时代周报的统计,截至2020年年底,阿里员工总数为25.2万人,而2020年9月底这个数字是 裁员传闻一出,有趣的现象是阿里人自己都坐不住了,出来声讨p8、p9多半都是没行动没能力,现在可以说是连周报汇总大师都不屑当了,有活就扔给p6、p7做,如果要裁员希望优先裁这帮老油条们...

    2.2K40编辑于 2022-03-15
  • 来自专栏韩曙亮的移动开发专栏

    【组合数学】基本计数原则 ( 加法原则 | 乘法原则 )

    加法原则 ( 1 ) 加法原则 ( 不能叠加 的事件才能用 加法原则 | 适用于 分类选取 ) 加法原则 : 1.加法法则描述 : 事件 A 有 m 种 产生方式 , 事件 B 有 n 种 取值情况 ; 3> 十位 : 百位数 不能 取 5 , 有 9 种 取值情况 ; 4> 个位 : 百位数 不能 取 5 , 有 9 种 取值情况 ; 根据乘法原则 : 不含 5 的个数位为 8 \times 9\times 9\times 9 = 5832 含有 5 的个数为 : 9000 - 5832 = 3168 ; ( 2 ) 百位 和 十位数 均为 奇数 的 \} , 也是 5 种方案 ; 3> 千位数 取值 方案数 : \{1 , 2, 3, 4, 5, 6, 7, 8, 9\} , 有 9 种方案 ; 根据 乘法 原则 : 百位 和 十位 \{1,3,5,7,9\} 中取值 ; 2> 分析 千位 的取值 : 千位数 不做限制的话 有 9 种方案 \{1, 2, 3, 4, 5, 6, 7, 8,9\} , 如果要求 与 个位数不同

    1.3K40编辑于 2023-03-27
  • 来自专栏蝉沐风的码场

    设计原则(1)| 开闭原则

    这些操作都是通过「修改」来实现新功能的,不符合「开闭原则」。 如果我们要遵循「开闭原则」,必须对修改关闭,对扩展开放。 其次,「开闭原则」的定义是软件实体(模块、类、方法等)应该对扩展开放,对修改关闭。 实际编码过程中怎么遵守开闭原则? 我的理解是不需要刻意遵守。 你只需要头脑中有这个印象就行了,你需要知道的就是你的代码需要具有一定的扩展性。 所有的设计原则都只有一个最终归宿——不破坏原有代码的正常运行,方便扩展。 还是那句话,设计原则和设计模式不是金科玉律,只要适合当前需求,并具备一定弹性的设计就是好设计。要平衡代码扩展性和可读性,切勿滥用设计原则和设计模式,牺牲代码的可读性。

    79020编辑于 2022-08-22
  • 来自专栏翎野君

    Java设计原则—开闭原则(转)

    开闭原则(Open Closed Principle)是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统。 定义: 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 开闭原则的含义是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有代码来实现变化。 软件实体包括以下几个部分: 项目或软件产品中按照一定的逻辑规则划分的模块 抽象和类 方法 开闭原则是为软件实体的未来事物而制定的对现行开发设计进行约束的一个原则。 开闭原则的重要性: 开闭原则对测试的影响 开闭原则可是保持原有的测试代码仍然能够正常运行,我们只需要对扩展的代码进行测试就可以了。 开闭原则可以提高可维护性 面向对象开发的要求 如何使用开闭原则: 抽象约束 第一,通过接口或者抽象类约束扩展,对扩展进行边界限定,不允许出现在接口或抽象类中不存在的public方法; 第二,参数类型、引用对象尽量使用接口或者抽象类

    47720编辑于 2023-05-12
  • 来自专栏运维开发王义杰

    设计模式原则:开放封闭原则

    开放封闭原则 开放封闭原则表示一个软件实体(如类、模块、函数等)应该对扩展开放,对修改封闭。也就是说,一个软件实体应该在不修改原有代码的前提下,可以扩展新的功能。 开放封闭原则是设计模式的核心原则,它体现了软件的灵活性和稳定性。如果一个软件能够满足开放封闭原则,那么它就具有以下两个优点: 能够扩展已有的功能,满足新的需求,具有很强的适应性和灵活性。 { throw new IllegalArgumentException("Invalid expression"); } } } 这个类违反了开放封闭原则 为了遵循开放封闭原则,我们应该将 Calculator 类设计成一个抽象类,并定义一个抽象方法 calculate()。

    35940编辑于 2023-08-10
  • 来自专栏运维开发王义杰

    设计模式原则:依赖倒置原则

    依赖倒置原则 依赖倒置原则表示高层模块不应该依赖低层模块,两者都应该依赖其抽象。抽象不应该依赖细节,细节应该依赖抽象。也就是说,要针对接口编程,而不是针对实现编程。 依赖倒置原则是面向对象设计的重要原则之一,它体现了面向对象的思想和封装的特性。如果一个软件能够遵循依赖倒置原则,那么它就具有以下两个优点: 降低了类之间的耦合性,提高了系统的稳定性。 keyboard.input(); mouse.click(); System.out.println("电脑工作"); } } 这个类违反了依赖倒置原则 为了遵循依赖倒置原则,我们应该将 Keyboard 类和 Mouse 类设计成实现一个共同的接口 Component。

    43720编辑于 2023-08-10
  • 来自专栏在水一方

    java设计原则--里氏替换原则

    缺点三:增强了耦合性,当父类的常量、变量和方法被修改时需要考虑子类的修改 里式替换作用 Java的单继承机制从总体上看是利大于弊,那么,如何让利的优势发挥最大,同时减少弊的带来的麻烦呢,于是就有了里式替换原则 ,里氏替换原则为良好的继承定义了一个规范 我们在做系统设计时,经常会定义一个接口或抽象类,然后编码实现,调用类则直接传入接口或抽象类,其实这里已经使用了里氏替换原则 举一个CS的案例: 枪的主要职责是射击 注意 在类中调用其他类时务必要使用父类或接口,如果不能使 用父类或接口,则说明类的设计已经违背了LSP原则 本文内容参考设计模式之禅,仅用于个人学习,如有不妥请联系删除

    1.1K20编辑于 2022-06-14
  • 来自专栏运维开发王义杰

    设计模式原则:里氏替换原则

    里氏替换原则 里氏替换原则表示如果对每一个类型为 S 的对象 o1 都有类型为 T 的对象 o2 ,使得以 T 定义的所有程序 P 在所有的对象 o1 都代换成 o2 时 ,程序 P 的行为没有发生变化 里氏替换原则是继承复用的基础,它体现了子类和父类之间的关系。 如果一个软件能够遵循里氏替换原则,那么它就具有以下两个优点: 保证了父类的抽象性和可复用性,子类可以扩展父类的功能,但不会破坏父类的约束和规范。 这个类就违反了里氏替换原则,因为它改变了父类的行为含义,使得在程序中无法将 Bird 对象替换 Animal 对象,而不改变程序的逻辑。 Animal { @Override public void run() { System.out.println("鸟可以飞行"); } } 为了遵循里氏替换原则

    46130编辑于 2023-08-10
领券