当前位置:网站首页>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 !~
边栏推荐
- Obligatoire pour les débutants, cliquez sur deux boutons pour passer à un contenu différent
- 数据降维——主成分分析
- R language ggplot2 visualization: gganimate package creates dynamic histogram animation (GIF) and uses transition_ The States function displays a histogram step by step along a given dimension in the
- 教程篇(5.0) 09. RESTful API * FortiEDR * Fortinet 网络安全专家 NSE 5
- 2022.7.1-----leetcode. two hundred and forty-one
- 聊聊电商系统中红包活动设计
- [daily question] first day
- 思维意识转变是施工企业数字化转型成败的关键
- Mysql高级篇学习总结7:Mysql数据结构-Hash索引、AVL树、B树、B+树的对比
- Talk about the design of red envelope activities in e-commerce system
猜你喜欢
中国信通院《数据安全产品与服务图谱》,美创科技实现四大板块全覆盖
为什么要做企业固定资产管理系统,企业如何加强固定资产管理
Introduction to the paper | application of machine learning in database cardinality estimation
Codeworks 5 questions per day (1700 average) - day 4
Hospital online inquiry source code hospital video inquiry source code hospital applet source code
高频面试题
Yunna | why use the fixed asset management system and how to enable it
【JVM调优实战100例】01——JVM的介绍与程序计数器
How to copy and paste interlaced in Excel
云呐|为什么要用固定资产管理系统,怎么启用固定资产管理系统
随机推荐
使用 Cheat Engine 修改 Kingdom Rush 中的金钱、生命、星
The R language dplyr package rowwise function and mutate function calculate the maximum value of multiple data columns in each row in the dataframe data, and generate the data column (row maximum) cor
Web2.0 giants have deployed VC, and tiger Dao VC may become a shortcut to Web3
Tutorial (5.0) 10 Troubleshooting * fortiedr * Fortinet network security expert NSE 5
golang:[]byte转string
MySQL advanced learning summary 8: overview of InnoDB data storage structure page, internal structure of page, row format
论文导读 | 机器学习在数据库基数估计中的应用
云呐|为什么要用固定资产管理系统,怎么启用固定资产管理系统
NPOI导出Excel2007
Markdown基础语法
R language uses the lsnofunction function function of epidisplay package to list all objects in the current space, except user-defined function objects
Introduction to the paper | application of machine learning in database cardinality estimation
教程篇(5.0) 10. 故障排除 * FortiEDR * Fortinet 網絡安全專家 NSE 5
电脑使用哪个录制视频软件比较好
Compile oglpg-9th-edition source code with clion
Reduce -- traverse element calculation. The specific calculation formula needs to be passed in and combined with BigDecimal
使用CLion编译OGLPG-9th-Edition源码
【JVM调优实战100例】02——虚拟机栈与本地方法栈调优五例
Use cheat engine to modify money, life and stars in Kingdom rush
【JVM调优实战100例】01——JVM的介绍与程序计数器