首页 > TAG信息列表 > Refactoring
training —— Refactoring from Anemic Domain Model Towards a Rich One
Refactoring from Anemic Domain Model Towards a Rich Onerefactoring of refactoring.guru
Overview https://refactoring.guru/refactoring 把 dirty code 转变成 clean code 过程叫重构。 What is refactoring? Clean code clean code有如下特征: 可读性好 无重复逻辑 低代码 -- 包含最少数目的类 通过所有测试 容易维护 The main purpose of refactoring is2021-03-15
推荐博文:23种设计模式 国外网站推荐:https://refactoring.guru/24.重构
Reasons to refactor: code is duplicated;A routine is too long; A routine has a poor name;A loop is too long or too deeply nested;A class has poor cohesion; A class interface does not provide a consistent level of abstraction; One class is overly intimatejavascript-如何在大型React项目中查找无效代码?
为了重构客户端项目,我正在寻找一种安全的方法来查找(和删除)未使用的代码. 您使用什么工具在大型React项目中查找未使用/无效的代码?我们的产品已经开发了几年,并且很难手动检测不再使用的代码.但是,我们确实尝试删除尽可能多的未使用的代码. 对于一般策略/技术(除特定工具之外)的java-的正则表达式排除引号内的匹配项
我正在从事这个相当大的重构项目,并且正在使用intellij的带正则表达式的查找/替换来帮助我. 这是我正在使用的正则表达式: \b(?<!\.)Units(?![_\w(.])\b 我发现大多数对我没有用的匹配项是用引号引起来的匹配项,例如:“ units” 我想找到一种方法,使上面的表达式在引号之间找到匹配Javascript“财产继承”
有没有一种方法可以为数组中的对象文字指定通用元素? 例如: var array = [ {key: "hi", label: "Hi", formatter:deleteCheckboxFormatter}, {key: "hello", label: "Hello", formatter:deleteCheckboxFormatter}, {key: "wuTDD是否在Python中损坏?
假设我们有一个类UserService,其属性为current_user.假设它在AppService类中使用. 我们已经对AppService进行了测试.在测试设置中,我们使用一些模拟值对current_user进行存根: UserService.current_user = 'TestUser' 假设我们决定将current_user重命名为active_user.我们在UserSeC#-流浪数据与可测试性
我现在没有做很多新的开发工作,但是对旧的C#子系统进行了很多重构,这些原来的需求不再支持新的C#子系统,而我将添加意外的需求.我现在也在尽可能使用Rhino Mocks和单元测试(与2008年相比). 对我来说,难题是要使这些方法可测试和可模拟,我需要使用接口定义明确的“合同”.但是,如果java-什么时候以及为什么Child类声明父类的静态实例成员?
这是一些遗留代码中的另一种设计模式,我在google上找不到很多.在这种情况下,子类扩展了其抽象父级,但随后转过来并声明了父级的静态实例: public abstract class MessageBase { protected DAOFactory factory; // method declarations } public class EDWMessage extendsjava-基于不同服务构建请求的最佳方法/模式
我有大约20种不同的服务,我必须向这些服务发送请求,这些请求需要一组略有不同的标头. 不良的旧版代码是这样的, row = db.query_for_service() if row.type == 'foo1' // add common headers to request // add foo1 specific headers 1 // add foo1 specific header 2使用SQLite3诱变剂优化Python代码
我正在改进一个开源音乐数据库,该数据库将从我的收藏中读取歌曲并将其存储到SQLite数据库中.反过来,我可以利用数据库查找重复项,对我的收藏集进行查询,以及(如果需要的话)在收藏集中查找重复的歌曲.为了从音乐文件中读取元数据,我使用了Mutagen库,并且使用SQLite3来存储元数据春季-使用@ModelAttribute的公共方法太多
我有一个1600行长的控制器.这主要是由一堆带有@ModelAttribute批注的公共方法填充的.它还有一些@RequestMapping方法. 我想减少行数并分班.如何使用@ModelAttribute批注处理多个公共方法?它们不是在处理请求时都被调用吗?解决方法: I have a controller that is 1600 lines long 喝java-Intellij Idea或Eclipse中的私有最终组成映射生成宏
我发现我需要经常偏向于继承而不是继承,因此,我需要产生的许多代码行都是由私有最终Contract实现和Contract接口方法之间的映射组成的. (可预测)映射示例 public abstract class Sloth<T> extends BaseAnimal implements Valuator<T> { private final Valuator<T> valuator =VIM:如何访问重做注册
作为Python自动完成(https://github.com/davidhalter/jedi)的第二项任务,我正在编写一个具有重命名(重构)功能的VIM插件. 最方便的重命名方法是使用cw和自动命令InsertLeave:call do_renaming_func().为此,我需要访问重做注册(请参阅帮助重做注册)或类似的内容,以记录书面文本. 如果javascript-JS:重命名变量以进行重构(使用AST,而不是文本)
重构代码时,我经常需要重命名变量,目前我正使用正则表达式以某种不明智的方式进行操作-由于缺乏实际的结构,我最终不得不采用愚蠢的文本解决方法,例如,将“ req”重命名为“ request”并避免使用类似“ require”之类的副作用. 考虑一下这些东西:有点像用正则表达式修改DOM:只是行不java-处理继承时删除条件语句
我想避免使用条件,并应用一些技术来使代码在处理继承的类时更易于维护和扩展. 在这个例子中,我们有. MarketOrder和LimitOrder都从基类Order扩展. TradeServiceImpl和getUnitPrice方法,用于计算2个订单将要交易的价格. 此方法有几个条件,可以为不同类型的订单选择正确的价格.此外,Java-避免矩阵迭代中的代码重复
假设我有一个int [size] [size]矩阵.我想像这样遍历它: 01 02 03 04 08 07 06 05 09 10 11 12 16 15 14 13 我真的必须说: for (int y=0; y<size; y++) { int startIndex, endIndex, increment; boolean lessThan; if (y%2 == 0) { startIndex = 0; ejava-有没有办法在Intellij-IDEA中自动进行重复的重构操作?
为了在我正在研究的项目中实现功能,我不得不抛出一个方法的检查异常,该方法被整个项目中数十个其他类中的数百种其他方法级联使用.因此,我必须进行一些繁重的重构,Intellij可以帮助我处理像这样的弹出窗口: 现在,尽管此intellij功能非常有用,但必须经历整个代码库仍然(对我而言)花费C#重构开关语句与空检查
我确实在使用几个switch语句时遇到了麻烦,并且我觉得有一种更好的方法可以实现最终目标. 所以本质上我是将viewmodel传递给方法.该方法首先从数据库中检索与视图模型相关的对象,然后switch语句对特定属性进行空检查.基于该结果,另一个switch语句对视图模型进行另一个null检查.在每c#-仅保留使用的类型并删除未使用的类型
有什么方法可以从项目中删除未使用的类型/代码. 可以说我在控制台应用程序中使用NAudio(源代码),而仅使用它的WaveIn类.我有什么办法可以从代码中删除未使用的类,而仅保留WaveIn类和WaveIn依赖的类吗?树木摇摇欲坠的东西解决方法:答案是Ndepend from t in Types let depth0 = t.DeC#-DI的构造函数的模板重构
很抱歉,如果以前曾有人问过/回答过这个问题,我对这个主题的搜索使我想到了与我的任务没有直接关系的各种各样的主题. 我目前需要实现在内部代码库中重构大量构造函数的目标,以支持使用Ninject进行构造函数注入.当前,我们有大量的KernelInstance.Get< T>实例.作为吸气剂的特性,例如:java-创建具有不同参数的相似子类实例的方法
我目前正在学习Java.我有一个带有超类(IndexCard)和两个子类(EmployeeIndexCard和CustomerIndexCard)的项目.这两个子类非常相似,但是它们的实例变量(因此,其构造函数)彼此不同. 他们来了: class EmployeeIndexCard extends IndexCard { public WorkArea workArea ; protecpython-如何以更简单的方式编写此代码
i = 0 for x in range(0, 5): for y in range(0, 5): if 0 == outputAfterLearning[i]: image.putpixel((x, y), (0, 0, 0)) elif 1 == outputAfterLearning[i]: image.putpixel((x, y), (255, 255, 255)) i += 1 for x我可以设置ReSharper来将未导入的类用法重命名为其全名,而不是导入其名称空间吗?
当我尝试使用未使用using指令导入其家庭名称空间的类时,会出现一个弹出窗口,允许我选择该类(按其全名),并添加一个using指令来导入它. 在我的一个项目中,我大量使用了来自不同命名空间的同名类,并且希望在每次使用时都指定全名. 我可以设置ReSharper来用其全名替换类“名”而不是导