当前位置:网站首页>Usage of ieda refactor
Usage of ieda refactor
2022-07-02 19:20:00 【thoughtCodes】
IEDA refactor Usage of
- Catalog
- summary
- Design thinking
- Analysis of implementation ideas
- 1.Refacot this
- 2.rename
- 3.rename file
- 4.change sinnature
- 5.Edit pro value
- 5.Type m
- 5.make static
- 6.convert to instance method
- 7.move class/member
- 8.copy class
- 9.safe delete
- 6.Extract
- inline super class
- Invert bolean
- find and repalce duliate:
- pull up member:
- pull down member:
- user inteface:
- inherit from replace
- remove middlman
- wrap method return value
- encapsulate Fields:
- replace temp with query
- replace constrct with factory
- replace constructor with build
- genirity
- migrate
- interliatelize
- migrate to anroidRx
- Sequence and method of use
- Expand to achieve
- Performance parameter test :
- References and recommended readings
Survive by day and develop by night.
talk is cheap, show me the code,make a better result.
Catalog

summary
I've always wanted to write this usage , I used it before , Only part of it is used , Now outline , When we write the corresponding code according to the business requirements , This is very important .
demand :
Design thinking
Analysis of implementation ideas
1.Refacot this
Select object , Right click to pop up the suggestion list , Select refactoring .
2.rename
This is simpler , Use naming conventions , Rename it .
3.rename file
Rename the currently selected file
4.change sinnature
Usually it's changing the method , Change method parameters .
5.Edit pro value
Change the attribute value , The directory object does not , May be pro Document has
5.Type m
Type related
5.make static
Action object , Directory does not , Method objects have , It should be to turn the method into static Of .
6.convert to instance method
Turn the method into static Of , and 5 What's the difference ?
7.move class/member
Mobile class directory structure
8.copy class
Will file copy To the specified directory , Local directory failed .
9.safe delete
This is simpler , Safe deletion , File to be deleted file does not exist .
6.Extract
variable
Failed to select file at present , The selected expression should be :
The extraction expression is constant :
constant

Filed
Select variable , Property name failed , Similarly, you choose an expression :
But notice this IEDA Logic is not automatically drawn in , Is to treat the expression as a member variable .
paraeter
Failed to select a single variable name or function list . What should be chosen is the expression :
Choose the former :
After refactoring :
however IEDA There is no corresponding project extraction in logic .
object
Failed to select a single variable name or function list .
method:

Select the code line in the specific method , Extraction method :
Type parameter
Invalid selection method list .
Method object

Turn the calling method into an internal class and an anonymous class :
delegate

Usually it is to generate a new class , As a delegate . Called by the delegate object .
interface:

result :
super class
First choose :
result :
Will extract int Attribute and add corresponding extends class :
inline super class
Select parent class : After analysis and quotation :
result :
Invert bolean
I don't know yet
find and repalce duliate:

pull up member:
pull down member:
Select the corresponding parent class , extract
user inteface:
Choose the method to use , Analyze , Interfaces can be used instead of
inherit from replace

Generate a delegate class , An interface is implemented internally .
remove middlman
The service class has completely become “ A middleman ”, At this point, you should let the client call the entrusted class directly .
wrap method return value
Encapsulation method
encapsulate Fields:

replace temp with query
Replace temporary results with queries
replace constrct with factory
Replace the construction method with the factory method ,
Select the method line : 
replace constructor with build
use builder Pattern construction method :
genirity
java The generics in , This information is scarce
migrate
transfer , Generally, it provides javaex,junit,swing Migration options :
interliatelize
online
migrate to anroidRx
Migrate to the corresponding androidRx:
Starting from the basic objects, there are probably so many , The menus that appear for different objects are not the same .
Sequence and method of use
From the perspective of granularity , look down :
Mainly
1.varibale,constant,filed Wait for the operation
2.function Internal level , Mainly extracting parameters , Object etc. .
3. Choosing multiple lines is method, or method object ( As an anonymous class , Internal class processing )
In fact, it is also different from the extraction menu .
Then it's based on class File level refactoring :
For a single class :
1. Delete , Move , Delete etc.
2. A higher level : Rename, etc .
This part can have operating system management , It only provides another editing entry .
For many categories : From a design point of view : Usually 3 individual :
delagate,interface,superclass,
The first objects to choose are extends,impl Keywords, etc , This part can be realized
For a mature project , Actual letter extends It seems to use more .
For its relationship expansion .
Then there are some pattern Has applied best practices .
Such as builder,factorypattern. Will generate a builder File and call file .
Then there is class lib Level ,
does jar transfer ,class Generic :
That's right Java Development is basically enough ,
If there is, it is the file conversion between systems, such as :
Transfer to androidX file .
So far, the analysis is finished .
Expand to achieve
- Entry level implementation :
- Partial source code implementation .
- The source code to achieve
Theory provides the basis . Generally optimized to pattern It's about the floor .
Performance parameter test :
nothing
References and recommended readings
Welcome to , Dear brother , If it helps you , A little praise and a little attention !~
边栏推荐
- [0701] [paper reading] allowing data imbalance issue with perforated input during influence
- According to the atlas of data security products and services issued by the China Academy of information technology, meichuang technology has achieved full coverage of four major sectors
- In pytorch function__ call__ And forward functions
- MySQL advanced learning summary 7: MySQL data structure - Comparison of hash index, AVL tree, B tree and b+ tree
- 【ERP软件】ERP体系二次开发有哪些危险?
- Codeworks 5 questions per day (1700 average) - day 4
- How performance testing creates business value
- 为什么要做企业固定资产管理系统,企业如何加强固定资产管理
- 2022 software engineering final exam recall Edition
- R language ggplot2 visualization: visualize the line chart and add customized X-axis label information to the line chart using labs function
猜你喜欢

Stm32g0 USB DFU upgrade verification error -2
![[0701] [论文阅读] Alleviating Data Imbalance Issue with Perturbed Input During Inference](/img/c7/9b7dc4b4bda4ecfe07aec1367fe059.png)
[0701] [论文阅读] Alleviating Data Imbalance Issue with Perturbed Input During Inference

教程篇(5.0) 10. 故障排除 * FortiEDR * Fortinet 网络安全专家 NSE 5

Novice must see, click two buttons to switch to different content

Excel如何进行隔行复制粘贴

PHP-Parser羽毛球预约小程序开发require线上系统

Talk about the design of red envelope activities in e-commerce system

守望先锋世界观架构 ——(一款好的游戏是怎么来的)

Why should we build an enterprise fixed asset management system and how can enterprises strengthen fixed asset management

PHP parser badminton reservation applet development requires online system
随机推荐
Introduction to the paper | analysis and criticism of using the pre training language model as a knowledge base
[paper reading] Ca net: leveraging contextual features for lung cancer prediction
yolov3 训练自己的数据集之生成train.txt
Tutoriel (5.0) 10. Dépannage * fortiedr * fortinet Network Security expert NSE 5
[daily question] the next day
R language uses the lsnofunction function function of epidisplay package to list all objects in the current space, except user-defined function objects
Transformation of thinking consciousness is the key to the success or failure of digital transformation of construction enterprises
R语言ggplot2可视化:gganimate包创建动态柱状图动画(gif)、使用transition_states函数在动画中沿给定维度逐步显示柱状图
Why should we build an enterprise fixed asset management system and how can enterprises strengthen fixed asset management
reduce--遍历元素计算 具体的计算公式需要传入 结合BigDecimal
Page title component
Emmet基础语法
Excel查找一列中的相同值,删除该行或替换为空值
Novice must see, click two buttons to switch to different content
Advanced performance test series "24. Execute SQL script through JDBC"
[100 cases of JVM tuning practice] 03 -- four cases of JVM heap tuning
页面标题组件
[test development] takes you to know what software testing is
拦截器与过滤器的区别
学习八股文的知识点~~1