当前位置:网站首页>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 !~
边栏推荐
- The difference between interceptor and filter
- Web2.0的巨头纷纷布局VC,Tiger DAO VC或成抵达Web3捷径
- #gStore-weekly | gStore源码解析(四):安全机制之黑白名单配置解析
- Mysql高级篇学习总结6:索引的概念及理解、B+树产生过程详解、MyISAM与InnoDB的对比
- PHP asymmetric encryption method private key and public key encryption and decryption method
- 消息队列消息丢失和消息重复发送的处理策略
- 为什么要做企业固定资产管理系统,企业如何加强固定资产管理
- Stm32g0 USB DFU upgrade verification error -2
- Learn the knowledge points of eight part essay ~ ~ 1
- 横向越权与纵向越权[通俗易懂]
猜你喜欢

Hospital online inquiry source code hospital video inquiry source code hospital applet source code
![[0701] [paper reading] allowing data imbalance issue with perforated input during influence](/img/c7/9b7dc4b4bda4ecfe07aec1367fe059.png)
[0701] [paper reading] allowing data imbalance issue with perforated input during influence
![[0701] [论文阅读] Alleviating Data Imbalance Issue with Perturbed Input During Inference](/img/c7/9b7dc4b4bda4ecfe07aec1367fe059.png)
[0701] [论文阅读] Alleviating Data Imbalance Issue with Perturbed Input During Inference

Juypter notebook modify the default open folder and default browser

IEDA refactor的用法

codeforces每日5题(均1700)-第四天

yolov3 训练自己的数据集之生成train.txt

新手必看,點擊兩個按鈕切換至不同的內容

MySQL advanced learning summary 7: MySQL data structure - Comparison of hash index, AVL tree, B tree and b+ tree

数据降维——主成分分析
随机推荐
Mysql高级篇学习总结7:Mysql数据结构-Hash索引、AVL树、B树、B+树的对比
Markdown basic grammar
mysql备份后缀是什么_mysql备份还原
页面标题组件
高级性能测试系列《24. 通过jdbc执行sql脚本》
从list转化成map的时候,如果根据某一属性可能会导致key重复而异常,可以设置处理这种重复的方式
Preprocessing and preprocessing macros
Markdown基础语法
Tutorial (5.0) 10 Troubleshooting * fortiedr * Fortinet network security expert NSE 5
教程篇(5.0) 09. RESTful API * FortiEDR * Fortinet 网络安全专家 NSE 5
潇洒郎:彻底解决Markdown图片问题——无需上传图片——无需网络——转发给他人图片无缺失
Learn the knowledge points of eight part essay ~ ~ 1
移动机器人路径规划:人工势场法[通俗易懂]
PyTorch函数中的__call__和forward函数
Progress progress bar
Stm32g0 USB DFU upgrade verification error -2
[paper reading] Ca net: leveraging contextual features for lung cancer prediction
Reduce -- traverse element calculation. The specific calculation formula needs to be passed in and combined with BigDecimal
2022 software engineering final exam recall Edition
MySQL advanced learning summary 7: MySQL data structure - Comparison of hash index, AVL tree, B tree and b+ tree