首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏蛮三刀的后端开发专栏

    可能被你误解的 DRY 原则

    1.2 如何理解 DRY 原则 DRY 针对的是知识和意图的复制,强调多个地方表达的东西其实是相同的,只是表达方式不同。 Q:知识和意图 这两个词比较抽象,如果具体到编码,指代的什么呢? 理解误区: 有些人将 DRY 固化为编码规范,这是狭隘的。 至少,别把它理解为“不要复制粘贴代码”,它和你想的真的不一样。 2 DRY 原则描述了哪些重复现象 2.1 代码重复 “复制粘贴”代码只是代码重复的一种特例,很多情况下,都不是你想的那样。 3 总结 DRY 原则描述的重复是 知识和意图 的重复。包含 代码重复、文档重复、数据重复、表征重复、开发人员重复。 不要过度追求 DRY,破坏了内聚性,这两者很难两头都握住,很遗憾的告诉你,没有规则可言,多向经验丰富的程序员讨教。

    1.6K20编辑于 2022-01-05
  • 来自专栏日积月累1024

    git merge模拟dry run功能

    问题 如果你使用过svn merge, 那你多半知道它有个–dry-run参数。 其功能是模拟merge过程,看下merge中会发生什么,以便根据情况决定是否要真正执行merge。 不幸的是,git merge并没有提供dry run选项。怎么办呢?

    1.1K20发布于 2020-12-07
  • 来自专栏bug收集

    程序员修炼之道 — DRY 原则

    bug收集:专门解决与收集bug的网站 网址:www.bugshouji.com 设计原则之DRY 原则 DRY(Don’t Repeat Yourself),翻译成中文就是,不要重复你自己。 但是对于DRY原则,会比较容易陷入如下的一些思维陷阱中: 陷阱一:随时关心代码重用性 代码重复通常有以下三种类型:   1. 总结: 对于DRY原则,需要明白的是不要为了遵从设计原则而设计,并不是代码重复了就一定是坏的代码,不能以代码是否违反了DRY原则去判断重复代码的好坏。 DRY原则很容易被人们误解为编程时就不应该存在重复的代码,但是DRY原则的真实意图并非如此。一切的原则都允许依托于具体的环境上下文中。 DRY原则是最简单也是最被容易理解的,但是同时也是最难被应用的。DRY原则初衷是为了帮助我们提升代码的可重用性和复用性,可是很多人在使用时却为了不重复而引入了更多其他新的问题。

    82720编辑于 2022-12-14
  • 来自专栏CNCF

    APIServer dry-run和kubectl diff

    Apply工作组正在努力修复一些差距,而很高兴地宣布Kubernetes 1.13将服务器端干运行(server-side dry-run)和kubectl diff升级到beta。 现有的解决方案是运行kubectl apply --dry-run,但这会运行本地(local)干运行而不与服务器通信:它没有服务器验证,也没有通过验证许可控制器(validating admission APIServer dry-run 实施APIServer dry-run来解决这两个问题: 它允许对apiserver的个别请求标记为“dry-run”, apiserver保证干运行请求不会被持久存储 如何使用它 你可以使用kubectl apply --server-dry-run在kubectl触发该功能,它将使用dryRun标志装饰请求,并返回应用的对象,如果失败则返回错误。 Kubectl diff APIServer dry-run很方便,因为它可以让你看到如何处理对象,但如果对象很大,很难准确识别出改变了什么。

    2.5K10发布于 2019-12-05
  • 来自专栏葡萄城控件技术团队

    DRY原则的一个简单实践

    原文出处:https://dzone.com/articles/dry-dont-repeat-yourself 我们之前就发过一篇相关的文章:https://www.cnblogs.com/powertoolsteam /p/12758496.html 其中也提到了包括DRY在内的一些软件开发的原则。 DRY 是软件开发的原则之一,其目的主要是为了避免代码重复,指导开发者尽量以抽象的思维去解决重复,基本上是,当您发现自己一遍又一遍地编写相同的代码时,可能会有更好的方法。 结论: 请记住DRY原则,并随时抱着不要重复自己代码的想法去完成开发工作。

    57810发布于 2020-06-16
  • DRY 软件设计原则-架构快速进阶教程

    概述 在本教程中,我们将了解 DRY 软件设计原理。 2. 定义 DRY 代表 不要重复自己。这是一个软件开发原则,目标是消除逻辑重复。 一个例子 例如,编写一个包含特定逻辑的函数,然后在我们的代码中多次调用它,就是应用 DRY 原则的一种形式。 这是一个伪代码,它接收两个华氏温度,并在应用 DRY 之前将它们转换为摄氏度: 现在这是应用 DRY 后的相同程序: 我们可以看到,在应用 DRY 之后,将华氏度转换为摄氏度的逻辑在我们的代码中只出现一次 DRY 的优势 DRY 原则的优点包括: 它使代码库更易于维护,因为如果我们想更改逻辑或添加它,我们只需要在一个地方更改它,而不是在出现逻辑的多个位置更改它 它使代码更易于阅读,因为代码中的冗余会更少 DRY 的反面 WET(可以代表我们喜欢打字,每次都写,浪费每个人的时间)是指我们在代码中多次编写相同的逻辑,违反了DRY原则。结果,代码变得更加难以阅读。

    32300编辑于 2025-04-05
  • 来自专栏运维开发王义杰

    软件开发: 高效策略-代码复用与DRY原则

    在软件开发领域,代码复用和DRY(Don't Repeat Yourself)原则是提高开发效率和软件质量的关键策略。 本文将探讨代码复用的概念、DRY原则的重要性以及如何在实际项目中有效地应用这些原则。 代码复用的概念 定义 代码复用指的是在软件开发过程中多次使用同一段代码,而不是重复编写相似的代码。 DRY原则的重要性 定义 DRY原则,即“不要重复自己”,强调在代码中避免重复。该原则认为,每一片知识或逻辑应该有一个唯一的、明确的、权威的表示。 如何有效应用代码复用与DRY原则 1. 标准化和模块化设计 设计可复用的组件和模块,确保它们具有清晰的接口和文档。 使用设计模式和架构原则来促进代码的模块化和复用。 2. 结论 在软件开发中,有效地运用代码复用和DRY原则是提高开发效率、保证软件质量的关键。

    52510编辑于 2024-01-26
  • 软件开发中的 DRY、KISS 和 SOLID 原则

    软件开发中的 DRY、KISS 和 SOLID 原则DRY (Don't Repeat Yourself)含义: "不要重复自己"解释: 每一piece of knowledge在系统中应该只有一个明确的 代码示例python 代码解读复制代码# DRY (Don't Repeat Yourself) 原则示例# 违反DRY原则的代码def get_area_circle(radius): return get_area_cylinder(radius, height): return 2 * 3.14 * radius * height + 2 * 3.14 * radius * radius# 遵循DRY 简要总结一下每个原则的核心思想:DRY原则强调避免代码重复,通过重用来提高代码的可维护性。KISS原则提倡简单设计,避免过度复杂化,使代码更容易理解和维护。

    48610编辑于 2024-07-21
  • 来自专栏dongfanger

    DRF类视图让你的代码DRY起来

    刚开始写views.py模块的代码,一般都是用def定义的函数视图,不过DRF更推荐使用class定义的类视图,这能让我们的代码更符合DRY(Don't Repeat Yourself)设计原则: ? delete(self, request, *args, **kwargs): return self.destroy(request, *args, **kwargs) 瞬间少了好多代码,真够DRY def post(self, request, *args, **kwargs): return self.create(request, *args, **kwargs) 真DRY

    78710发布于 2020-12-22
  • 来自专栏Frost's Blog

    让你的Django应用变DRY的几个最佳实践

    DRY是Don't-Repeat-Yourself的缩写,是一种代码编写的原则,即不要重复自己的工作。我个人有些代码洁癖,凡是发现我需要复制粘贴代码的地方,就想着能怎样去除重复的工作。 总的来说,要使得你的应用很DRY,要遵循以下两个原则: 全局都应用的变更,收拢到一个地方配置 有少数与其他不一样的行为,将多数行为定义为全局行为,将少数行为分别配置,并尽可能简化配置方法。 总结 DRY原则能使你的代码结构好、易维护、易扩展。在日常的开发中,要时刻反思自己的代码是否过于重复,可以精简。在Python中,可以说只要你想,一定能把多处一样的代码给抽取出来。

    2.2K50发布于 2019-12-01
  • 来自专栏四楼没电梯

    软件工程的核心原则:KISS, DRY, SOLID, YAGNI

    软件工程的核心原则:KISS, DRY, SOLID, YAGNI — 深入解析与实践指南 引言 在软件开发的广阔领域中,原则和实践是构建高质量、可维护系统的基石。 本文将深入探讨四个核心原则:KISS(保持简单,愚蠢)、DRY(不要重复自己)、SOLID(面向对象设计的五大原则)以及YAGNI(你不会需要它)。 DRY原则:不要重复自己 核心理念 DRY原则强调避免代码重复。重复的代码不仅增加维护成本,还可能导致一致性问题。通过将逻辑集中在一个地方,我们可以确保变更的一致性,减少错误,并提高代码的可读性。 结论 KISS、DRY、SOLID和YAGNI原则是软件工程中的宝贵指南。通过理解和应用这些原则,我们可以构建更高效、更可靠的软件系统。

    1.3K10编辑于 2024-10-12
  • 来自专栏云计算教程系列

    如何在Ubuntu 16.04上使用dry管理和监控Docker容器

    如果你在最后一步尝试dry的Swarm功能,这是非常必要的。 第一步 - 安装dry 首先,我们需要在Docker服务器上安装dry。 $ wget https://github.com/moncho/dry/releases/download/v0.9-beta.3/dry-linux-amd64 接下来,将新的二进制文件从dry-linux-amd64 $ dry -v 这将返回版本号和构建详细信息: Version Details Output dry version 0.9-beta.2, build d4d7a789 现在我们已经设置dry,让我们尝试来使用它 现在我们已经看过了dry的Containers,Images和Networks部分,让我们继续讨论dry的监视功能。 有一种将dry连接到运行Docker的远程主机的辅助方法,该方法在dry运行时使用-H选项带有远程主机IP地址。这对于您无法安装dry二进制文件或对安装dry二进制文件不感兴趣的情况下非常有用。

    1.3K60发布于 2018-08-09
  • 来自专栏运维开发王义杰

    打造高质量代码:探究DRY、YAGNI和三次法则

    DRY原则:追求高效,摒弃重复 DRY,全称"Don't Repeat Yourself",翻译为中文就是"不要重复自己"。这是一种追求高效、优雅的编程原则。 根据DRY原则,任何形式的信息重复都应当被消除。在实际的编程中,如果同一个逻辑出现在两个或更多的地方,那么我们就需要考虑将这部分逻辑抽象出来,避免重复代码。 DRY原则的优点在于,它能提高代码的可读性和可维护性,降低代码的复杂度,从而提高整个软件的质量。 实际上,这个法则是DRY原则的一个具体实践。当我们在代码中发现重复的逻辑时,可能是时候考虑进行抽象了。 DRY原则、YAGNI原则和三次法则,都是我们在编程实践中需要掌握的重要原则。通过运用这些原则,我们可以写出更高质量的代码,构建出更优秀的软件。

    1.1K10编辑于 2023-08-10
  • 来自专栏程序你好

    软件设计原则——DRY(Dont Repeat Yourself)和KISS( Keep It Simple, Stupid)

    我们将探索DRY和KISS软件设计原则。 DRY(Don’t Repeat Yourself)原则——不要重复你自己 DRY代表“不要重复自己”,这是软件开发的一个基本原则,目的是减少信息的重复。 违反DRY原则 “我们喜欢敲代码”(或者“浪费每个人的时间”):“我们喜欢敲代码”意味着一遍又一遍地写同样的代码或逻辑。 如何实现DRY 为了避免违反DRY原则,需要把你的系统分成几部分。将代码和逻辑划分为更小的可重用单元,并通过在需要的地方调用代码来使用这些单元代码。 DRY的好处 更少的代码是好的,它节省了时间和精力,易于维护,并且减少了bug的几率。 DRY原则的一个很好的例子是企业库enterprise libraries中的helper类,其中每行代码都在库libraries和helper类中是惟一的。

    4.5K20发布于 2018-07-20
  • 来自专栏不止dotNET

    设计模式:面向对象的设计原则下(ISP、DIP、KISS、YAGNI、DRY、LOD)

    其他原则 除了 SOLID 五大原则之外,还有一些原则也在指引我们设计好的代码架构方面发挥着作用: KISS YAGNI DRY LOD KISS KISS 的全称是:Simple and Stupid DRY DRY 的全称是:Don’t Repeat Yourself ,就是不要重复自己,提升代码的复用性,告别 CV 大法。 很多初级程序员都喜欢面向 Ctrl+C、Ctrl+V 编程,当需求变化的时候,很容易就遗漏一些场景,但即便是复制粘贴也不完全都是违反 DRY 。 代码的重复有两种情况: 1、代码的逻辑重复,语义也重复:这种违反了 DRY ,需要进行重构; 2、代码的逻辑重复,语义不重复:在某个阶段,两段代码逻辑是相同的,但其实是两种不同的应用场景,语义不一样,就没有违反 DRY

    70010编辑于 2021-12-13
  • 来自专栏GEE数据专栏,GEE学习专栏,GEE错误集等专栏

    Google Earth Engine——USGS/GAP/PR/2001波多黎各的详细植被和土地覆盖分类

    dry alluvial shrubland and woodland 4 # Mature secondary lowland dry limestone evergreen forest 5 # Mature secondary lowland dry limestone semideciduous forest 6 # Young secondary lowland dry limestone semideciduous forest 15 # Lowland dry noncalcareous shrubland and woodland 16 # Mature secondary dry forest 18 # Dry and moist serpentine woodland and shrubland 19 # Abandoned dry forest plantation 20 riparian forest 47 # Lowland dry riparian shrubland and woodland 48 # Dry grasslands and pastures

    30510编辑于 2024-02-02
  • 来自专栏监控

    手写K8S的YAML很痛苦,看完这篇让你信手拈来

    三把利剑:help、dry-run、explain 虽然,手写YAML配置文件可能会让刚接触K8S的小白望而却步。但别担心! dry-run:在实际执行命令之前,预先验证命令的效果,模拟执行命令不会对集群产生实际影响,再配合 -o 选项 将结果输出为YAML格式,能快速得到yaml。 的两个常用选项: --dry-run=client -o yaml 将在本地模拟执行命令,并将模拟执行结果以YAML格式输出。 --dry-run=server -o yaml 将命令请求发送到服务器,并由服务器模拟执行命令,返回经过服务器验证的YAML格式的资源定义。 总而言之,--dry-run=client -o yaml适用于本地模拟执行命令并生成YAML配置文件的场景,而--dry-run=server -o yaml适用于获取经过服务器验证的可靠YAML配置文件的场景

    91420编辑于 2023-06-21
  • 【kubernetes篇】创建kubernetes-yaml的简单方法

    有一个名为--dry-run的标志可以帮助您创建整个清单模板。此外,你无法使用试运行创建所有 Kubernetes 资源 YAML。例如,你无法使用试运行创建 Statefulset 或持久卷。 kubectl run mypod --image=nginx:latest \ --labels type=web \ --dry-run=client - kubectl expose pod mypod \ --port=80 \ --name mypod-service \ --type=NodePort \ --dry-run kubectl & dry run 别名为了加快速度,你可以在 或 for 命令中设置别名,如下所示。这样你就不必每次都打字。 alias kdr='kubectl --dry-run=client -o yaml'你可以按如下方式执行该命令。

    31710编辑于 2025-09-28
  • 来自专栏MoeLove

    K8S 生态周报| TUF 正式从 CNCF 毕业

    kubectl drain 在 --dry-run 的时候,可以显示会驱逐掉的 pod 信息了。示例如下: # kubectl v1.18.0-alpha.1 (MoeLove) ➜ bin . /kubectl.v1.18 drain --dry-run=true 10.19.47.253 node/10.19.47.253 cordoned (dry run) evicting pod infra/redis-7c647bfd97-fdk2r (dry run) evicting pod kube-system/coredns-65b546d87d-6jmfp (dry run) evicting pod kube-system/coredns-65b546d87d-pwqvh (dry run) node/10.19.47.253 drained (dry run) 而之前版本中是没有展示被驱逐 cordoned (dry run) node/10.19.47.253 drained (dry run) ----

    74510发布于 2020-01-02
  • 来自专栏CSDN旧文

    POJ 3104 Drying

    65536K Total Submissions: 25853 Accepted: 6484 Description It is very hard to wash and especially to dry When amount of water contained becomes zero the cloth becomes dry and is ready to be packed. Every minute Jane can select one thing to dry on the radiator. The drying process ends when all the clothes are dry. Output Output a single integer — the minimal possible number of minutes required to dry all clothes.

    43120发布于 2020-10-28
领券