首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

代码手术刀—自定义你的代码重构工具

对于懒人而言,挨个手动点击几百次按钮和坐牢无异,遂自己写了一个工具对大部分已明确的优化点进行一键修改(具体是使用lombok的@Data注解替换显式的getter/setter以及toString方法)...在翻阅历史代码时,发现不少工程仓库里很多类依然是用的IDE生成的getter/setter,如果使用Lombok的@Data注解替换,可以带来几个优点。...回过头来看,如果我们要写一个工具,对整个代码工程所有类进行全量扫描,并且使用lombok来替换其中的“没有特殊逻辑”的getter和setter,需要哪些步骤。...file.getName().endsWith(".java")) { result.add(file); } return result; } 使用注解替换...在上一章节里就用到了数据提取,源码替换功能。

13710

代码自动生成在重构中的一次探索

最近我们项目决定引入EventBus,替换我们播放器现在的事件总线框架,以解决我们存在的一些问题。...替换为post,将case替换为方法。...例如,完全有可能有一个类A,它内部也声明了一个public void publish(SomeKind params)方法,我们的正则也会匹配,导致错误替换。另外,case语句的替换也是更加的困难。...首先,哪些类中的onEvent方法的switch case需要被替换?只有那些继承自Plugin的类才需要替换,如何判断一个类是否继承自Plugin也是很难判断的,不但有直接继承,还有间接的继承。...前面我们已经说过,JavaSymbolResolver是建立在JavaParser上的,JavaSymbolResolver借助JavaParser的AST树,便可实现其符号解析。

2.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    替换元素和非替换元素

    替换元素和非替换元素 可替换元素replaced element也称作可置换元素,其展现效果不是由CSS来控制的,这些元素是一种外部对象,它们外观的渲染,是独立于CSS的。...对于可替换元素,浏览器会根据元素的标签和属性,来决定元素的具体显示内容。 可替换元素的内容不受当前文档的样式的影响,CSS可以影响可替换元素的位置,但不会影响到可替换元素自身的内容。...对于某些可替换元素,例如元素,可能具有自己的样式表,但它们不会继承父文档的样式。 CSS能对可替换元素产生的唯一影响在于,部分属性支持控制元素内容在其框中的位置或定位方式。...一部分可替换元素,其本身具有的尺寸和基线baseline会被一些CSS属性用到,加入计算之中,例如vertical-align,只有可替换元素才能具有这种自带值。...非替换元素 非替换元素是其内容包含在文档中的元素,其内容可以受CSS渲染控制。 非替换元素的内容不会超出CSS的模型范围,CSS在渲染时会考虑非替换元素的内容。

    2K30

    替换空格

    看到这个题目,我们首先应该想到的是原来一个空格字符,替换之后变成'%'、'2'和'0'这3个字符,因此字符串会变长。如果是在原来的字符串上做替换,那么就有可能覆盖修改在该字符串后面的内存。...我们可以先遍历一次字符串,这样就能统计出字符串中空格的总数,并可以由此计算出替换之后的字符串的总长度。每替换一个空格,长度增加2,因此替换以后字符串的长度等于原来的长度加上2乘以空格数目。...这个字符串的长度是14(包括结尾符号'\0'),里面有两个空格,因此替换之后字符串的长度是18。       我们从字符串的后面开始复制和替换。首先准备两个指针,P1和P2。...此时P1和P2指向同一位置,表明所有空格都已经替换完毕。 ? 注:图中带有阴影的区域表示被移动的字符。(a)把第一个指针指向字符串的末尾,把第二个指针指向替换之后的字符串的末尾。...(e)替换字符串中的倒数第二个空格,把第一个指针向前移动1格,把第二个指针向前移动3格。

    2.8K60
    领券