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

    Confluence 6 重构 ancestor 表

    偶尔 ancestor 表格中的数据可能被损坏,这就要求你需要对 ancestor 表进行重构了。 如何对 ancestor 表进行重构: 备份你的数据库。 <your-site>/admin/permissions/pagepermsadmin.action 选择 重构 ancestor 表(Rebuild ancestor table)。 我们推荐你对你的数据库进行完整的备份,不要在网站访问高峰期进行重构操作,可以选择在网站维护时间进行重构操作。

    48140发布于 2019-01-30
  • 来自专栏编舟记

    Kotlin 重构 - F6 not working?原始代码目标代码重构步骤如下:小结问题

    RefactorData.sayHello() { println("hello, $name") } data class RefactorData(val name: String) 重构步骤如下 F6, Move member 小结 Kotlin 是一门函数式编程语言,函数是一等公民。

    24520发布于 2018-08-17
  • 来自专栏深度学习与python

    破解遗留系统重构问题的 6 步心法

    重构 但是实际在这个项目里落地重构时,我们通常会遇到很多挑战。第一个挑战是没有时间重构,开发同学经常会提到这个问题。第二个挑战是重构以后背锅怎么办?这个问题使得很多同事不愿做重构。 其实我们更应该把重构按不同的修改范围去分类,在这里我们将重构分为了三种类型:小型重构、中型重构和大型重构重构时机 小型重构的修改范围主要针对的是对单个类内部的重构优化,比如一些非常基础的重命名、提取变量、提取函数等操作,我建议这种重构随时进行。 小步安全重构 接下来进行小步安全重构。在这个过程中,需要我们结合整个 IDE 的安全重构进行重构重构完以后业务层的代码抽取到独立的 Presenter 里面,也通过 RxJava 解决之前 new Thread 线程管理,将独立的业务逻辑存放在 Presenter 类里。 6.

    68110编辑于 2023-03-29
  • 来自专栏IMWeb前端团队

    移动端重构实战系列6——icon与图片

    本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 ”本系列教程为实战教程,是本人移动端重构经验及思想的一次总结,也是对sandal及sheral UI的一次全方位剖析, “ ——imweb 结一 本篇主要从icon及图片说下移动端重构碰到的一些问题及实践方法。 : -2px; } &::after { content: ""; background: currentColor; height: 6px

    84510发布于 2019-12-04
  • 来自专栏程序生涯

    6重构方法提升80%的代码质量

    经常会发现开发者会使用一些具有明确含义的常量值(主要是魔鬼数字),但是并没有给它们赋予合适的常量变量,这会降低代码的可读性和可理解性 5、模糊的方法名:(1)、模糊的不具有任何意义的方法名 (2)、技术性的,却没有提及相关领域的方法 6个处理上面代码异味的重构方法 (手法) 以下是6个可以用来帮助你解决80%(80-20原则)的代码质量问题的重构方法,并能帮助你成为一个更优秀的开发者。 有趣的是,这种重构方法看起来似乎非常容易理解,但是常常被许多开发者忽视,虽然在Eclipse这种IDE的refactor菜单项中经常出现这一项。

    85430发布于 2020-08-14
  • 来自专栏IMWeb前端团队

    移动端重构实战系列6——icon与图片

    本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 ”本系列教程为实战教程,是本人移动端重构经验及思想的一次总结,也是对sandal及sheral UI的一次全方位剖析, “ ——imweb 结一 本篇主要从icon及图片说下移动端重构碰到的一些问题及实践方法。 : -2px; } &::after { content: ""; background: currentColor; height: 6px

    1.1K50发布于 2018-01-08
  • 来自专栏测试开发干货

    接口测试平台代码实现58-首页重构6

    我们记得,我们都是用a标签超链接 来显示一个一个的请求记录。那么他们点击的href属性,我们指定的是触发一个叫home_log_show()的js函数,传入这个记录的id,当然这个函数还没有写。

    82830编辑于 2022-05-19
  • 来自专栏技术之路

    重构学习-重构原则

    什么是重构: 视上下文重构有两个不同的定义,第一个定义是名词形式 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本 重构的另一人用法是动词形式 使用一系列的重构手法 强调一下,重构不会改变软件的可观察行为,也就是说重构之后功能和原来一样。 为什么要重构重构改进软件设计,如果没有重构,程序的设计会逐渐腐败变质。 重构的原动力是:代码设计无法帮助我轻松的添加我所需要的功能,如果用某种设计方式,添加功能会简单的多,这种情况可以用 重构来弥补。重构是一个快速流畅的过程,一旦完成重构,新特性的添加会更快速,更流畅。 如果在修改bug和审查代码时发现不合理的地方也要进行重构,这样是为了更好的阅读和理解代码 何时不重构: 如果发现代码太混乱,重构它不如重写来的简单这种情况下建议重写,不用进行重构。 最后你没有时间进行重构表明你其实早就该进行重构重构与性能: 有时为了让代码更容易理解,会做出一些使程序运行变慢的修改,这是个重要的问题。

    1.3K50发布于 2018-01-31
  • 来自专栏韩曙亮的移动开发专栏

    重构重构概要--六大重构模块

    重构方法介绍: 重构改善既有代码的设计 一 重新组织函数 关于注释 :要尽可能少的使用注释 , 注释越多代码的可读性反而更差,注释可以使用函数名来代替 , 不要管函数名有多长, 即使函数名比函数中的代码还要长也不要紧 能更加明确的表明函数的意义,可以将这个算法替换; 二 在对象之间搬移特性 功能模块归属类:对象设计中, 将一个功能模块放在哪个类中,是最重要的任务之一,谁也不能一开始保证设计的是完全合适的,这就需要“对象之间搬移特性”这个重构方法 搬移函数和搬移字段:这两种重构方法都可以解决大多数的问题,如果两种方法同时使用,先搬移字段,在搬移函数。

    96930编辑于 2023-03-27
  • 来自专栏学习猿地

    Web前端学习 第2章 网页重构6 盒子模型

    ,实例代码如下所示: 1 .box1{ 2 width:300px; 3 height:300px; 4 background-color: #f00; 5 } 6 1 .box1{ 2 width:300px; 3 height:300px; 4 background-color: #f00; 5 } 6 .box2{ 7 */ 6 margin:0 auto; 7 } 左右外边距的值设置为auto,元素就会根据其父级容器的实际宽度,将元素左右两边的外边距设置为相同的值,这样元素就实现了水平居中的效果。 { 2 width:300px; 3 height:300px; 4 background-color: #f00; 5 padding-top:50px; 6 这里顺便说一下,border属性简写的三个值是没有顺序要求的,我们可以写成 1 .box{ 2 border:blue 1px solid; 3 } 4 /* 或者 */ 5 .box{ 6

    49200发布于 2020-06-12
  • 来自专栏爱编码

    重构

    个人觉得代码重构非常有必要,写程序不但要给机器运行,更让人看的明白。 写代码如写诗一样才行。(内容代码为主,建议实践一下比较好点) 实例 一个图书馆出租书的程序。 book,8)); customer.addRental(new Rental(book1,4)); customer.addRental(new Rental(book2,6) 接着:直接看下面的代码重构呗 Book类: 将按照书的不同类型,按照不同价格统计的方法移动到Book类中,因为这个按理应该属于Book类中的。 第二次重构 经过第一次重构,还是没有实现需求修改增加多个分类的效果。那么接下来使用接口抽象来再次重构。 参考文章 【重构】作者: Martin Fowler

    1.1K10发布于 2019-07-03
  • 来自专栏青玉伏案

    代码重构(三):数据重构规则

    在《代码重构(一):函数重构规则(Swift版)》和《代码重构(二):类重构规则(Swift版)》中详细的介绍了函数与类的重构规则。 6 @IBOutlet var resultTextField: UITextField! ============ 2 func addOrder(order: Order) { 3 self.orders.append(order) 4 } 5 6 1 //重构前 2 class Person { 3 var name: String = "" 4 5 init(name: String) { 6 /添加要借的书籍 4 books.append(LibraryBook(name: "《雪碧加盐》")) 5 books.append(LibraryBook(name: "《格林童话》")) 6

    1.5K60发布于 2018-01-11
  • 来自专栏全栈程序员必看

    代码重构(三):数据重构规则

    在《代码重构(一):函数重构规则(Swift版)》和《代码重构(二):类重构规则(Swift版)》中详细的介绍了函数与类的重构规则。 6 @IBOutlet var resultTextField: UITextField! ============ 2 func addOrder(order: Order) { 3 self.orders.append(order) 4 } 5 6 1 //重构前 2 class Person { 3 var name: String = "" 4 5 init(name: String) { 6 /添加要借的书籍 4 books.append(LibraryBook(name: "《雪碧加盐》")) 5 books.append(LibraryBook(name: "《格林童话》")) 6

    1.3K10编辑于 2022-07-05
  • 来自专栏青玉伏案

    代码重构(二):类重构规则

    在上篇博客《代码重构(一):函数重构规则(Swift版)》中,详细的介绍了函数的重构规则,其中主要包括:Extract Method, Inline Method, Inline Temp, Replace 关于上述这些函数重构的规则更为详细的信息请参考上一篇博客,在此就不做过多的赘述了。 今天这篇博客主要介绍一下类的重构。在我们写代码时,有些类是不规范的,需要重构。 当然,在你实现时,测试用例是必不可少的,因为测试用例可以在你重构时及时发现因为重构而产生的错误。言归正传,进入今天博客的主题。 搬移后,我们可以再使用函数的重构规则对新组的函数进行重构。下方就通过一个实例来直观的感受一下Move Method。 关于这两个函数重构的规则的具体细节请参见《代码重构(一):函数重构规则(Swift版)》中的介绍。下方截图是对BookCustomer类中的charge()函数进行重构后的结果,如下所示: ?

    1.7K100发布于 2018-01-11
  • 来自专栏青玉伏案

    代码重构(一):函数重构规则

    此时,你要考虑重构了。 重构,在《重构,改善既有代码的设计》这本经典的书中给出了定义,大概就是:在不改变代码对外的表现的情况下,修改代码的内部特征。 本篇博客的主题就是通过一些列的重构手法,对既有的需要重构的函数或者方法进行重构。并且会将每个示例在GitHub上进行分享,感兴趣的小伙伴可以对其进行下载。 实在是没有必要再找其他的例子说明这些重构规则,因为《重构:改善既有的代码的设计》这本书真的是太经典了。 1.需要重构的代码如下所示。 在写好需要重构的类后,我们要为该类写一个测试用例。这便于在我们重构时对重构的正确性进行验证,因为每次重构后都要去执行该测试用例,以保证我们重构是正确的。 所为我们可以再次对上述方法进行重构重构后的具体代码如下: ? 今天的博客主要讲了如何对既有代码中的函数进行重构,在本篇博客中提到了8大规则。

    2.1K50发布于 2018-01-11
  • 来自专栏只喝牛奶的杀手

    重构

    说到重构,我们再来了解一下定义:重构是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,利用设计思想、设计原则、设计模式编程规范等理论来优化代码。 重构目的:1.重构是时刻保证代码质量的一个极其有效的手段,防止代码腐化。当代码腐化到一定程度,量变引起质变,项目的维护成本已经高过重新开发一套新代码的成本。2.优秀的架构和代码是迭代出来的。 时机:持续的重构(做好重构计划,小步快跑,要保证代码仓库中的代码一直处于可运行、逻辑正确的状态.要做好与新功能,老代码的兼容工作。利用静态代码扫描,codeReview做好日常持续重构)。 重构手法总结为“十六字心法”,非常形象、贴切:旧的不变,新的创建。一步切换,旧的再见。 “旧的不变”是指先不动旧方法;“新的创建”是指创建一个跟原来方法功能相同的新方法,你可以通过先复制再重构的方式,来得到这个新方法,也就是整个系统的一个增量;“一步切换”是指,在充分测试之后,新的方法可以完全替代旧方法了

    55730编辑于 2023-09-18
  • 来自专栏马超的博客

    重构-重复关系重构

    今天看到社区有人提问如何进行关系重构,顺手回答了一下。在此记录下关系重构的方法。 Realation {name:'属性3'}]->(B) - 查询测试数据 MATCH p=(A:Test {name:'A'})-->(B:Test {name:'B'}) RETURN p - 如何重构 就是变成 (A)-[:Realation{name:‘属性1’]-(B) (A)-[:Realation{name:‘属性2’]-(B) (A)-[:Realation{name:‘属性3’]-(B) - 重构关系 [0]]) AS deleteRelIds WITH name,deleteRelIds MATCH ()-[r]-() WHERE ID(r) IN deleteRelIds DELETE r - 重构结果 - 更多复杂重构可以使用下面的存储过程实现 CALL apoc.do.case([relationship=1,\'MATCH (from:Label {hcode:$fromHcode}),(to

    1.1K20编辑于 2022-07-04
  • 来自专栏新智元

    边缘智能(EI):重构算力、重构算法、重构商业智能

    小蚁提供以小蚁品牌的6大类28个产品,覆盖网络摄像机、运动相机和VR等;小蚁产品均链接小蚁智能云,提供企业级云端PaaS服务;小蚁的云+端基础服务与行业结合提供智能零售、出行、智能园区、楼宇、家居等解决方案 边缘智能(EI),重构智能算法引擎 真正和老百姓生活息息相关的应用都是哪些呢?一般来说与老百姓出门相关的都是衣食住行,那么衣食住行当中的AI和计算机视觉会有怎样关联呢? 衣食住行无外乎是智能家居、智能出行和线下零售等等几个常用的场景,这些场景当中都有硬件、软件和计算机算法等等完整的处理方式,我们通过EI重构数字空间,其中三个方面,重构算力、重构算法,同时也重构商业模式。 2018年6月我们正式发布了小蚁在人工智能最后一公里的三大应用场景:智能家居、智能出行和智能零售。 Computer Vision,这应该是AI领域当中对算力、算法、人才需求最苛刻的领域。 我们要用边缘计算的算法和系统,重构这个零售的空间。 重构的空间能够给人解决什么—实时主动决策 我们认为主要是提供了变革性的决策,也就是主动地决策。

    1.7K30发布于 2018-10-24
  • AI重构知识管理:如何破解技术团队的6大效率困局

    结语:AI重构技术团队的知识管理逻辑对于技术团队而言,知识管理的本质是“让正确的知识在正确的时间触达正确的人”。 这类AI知识库工具的价值,不仅在于通过AI技术解决了知识生产、沉淀、检索、协作中的一系列痛点,更在于重构了技术团队的知识管理逻辑——从“被动录入、主动检索”转向“主动生产、精准推送”,让知识真正成为研发效率提升的核心驱动力 在AI技术重构各行各业的今天,知识管理的智能化升级已成为技术团队的必然选择。

    23620编辑于 2025-12-26
  • 来自专栏服务端技术杂谈

    重构系统的套路-明确重构目的

    重构系统的套路系列: 本篇说下重构系统的套路中的,明确重构的目的。 ? 不同的重构目的会有不同的重构方式和不同的执行标准。 ,但是整个链路的可用性却降低了,贸然全量这样一个重构,必然产生一个非常大的事故。 上面这个虽然是我自己在系统梳理过程中意淫出来的场景,但我不得不再我进行类似系统重构之前,在代码逻辑角度,功能业务角度,缓存集群,mq集群,DB集群等角度考虑,我这次重构可能造成的问题,只有我们在系统重构之间能够想的比黑天鹅来的更快我们才能对系统做更多的保护 基于以上四点不同的重构需求,我们采取的方案和执行的角度完全不同,系统变大了之后,稳定第一。

    2.4K30发布于 2018-09-21
领券