jjzjj

refactoring

全部标签

xml - 您能否将 Maven pom.xml 文件重构为可重用的 XML 片段?

在Maven中,是否可以将经常重复的片段重构为可重用的“库”(插件)?我意识到我可以编写自己的插件,但通常我想要重用的功能已经在pom.xml中表示为片段,我的自然倾向是重用机制应该保留这些片段作为XML。恰当的例子我一直在使用程序(partlydescribedhere)从Jersey/JAX-RS源代码生成WADL文件,然后从该WADL和源代码生成开发人员文档-code自己的Javadoc。该页面上的过程描述了两个插件的执行,我正在使用第三个插件(org.codehaus.mojo:exec-xsltproc)和我自己的XSL文件将WADL转换为HTML。我已经在几个Maven项目

windows - 将包重构为 perforce 中的驼峰式大小写,旧包未删除并在存储库中重复

我有一个包被错误命名,全部小写但应该是驼峰命名。我使用IntelliJ重构它,测试它仍然有效并将其推送到perforce存储库。Perforce将旧小写包中的类标记为更新,而不是删除,并将其添加到新包中,因此对于该包中的所有类,我的perforce看起来是这样的://...perforcerepo..../src/main/java/thepackage/MyClass.java//...perforcerepo..../src/main/java/thePackage/MyClass.java当Jenkins尝试构建时,它会遇到编译问题,指出每个类都是重复的。Windows对文件夹不

c# - 重构斐波那契算法

我已经很多年没有使用静态类型的语言了,我给自己设定了一个任务,那就是快速掌握C#。我在这里使用我惯用的技巧来完成十五个练习http://www.jobsnake.com/seek/articles/index.cgi?openarticle&8533作为我的第一个任务。我刚刚完成了第二个Fibonacci任务,它没有花很长时间并且工作得很好,但在我看来它看起来很丑陋,我确信可以用更少的代码行来实现。我通常喜欢通过与已经知道自己在做什么的人结对编程来学习,但这种选择今天对我不开放,所以我希望在这里发帖是下一个最好的事情。那么对于所有C#Jedi来说,如果你要重构下面的代码,它会是什么样子

c# - Visual Studio 2010 中的重构选项在 C# 和 VB 之间有所不同

在VS2010C#中,当我右键单击时,会出现“重构”菜单,其中包含以下选项:重命名提取方法封装字段提取接口(interface)删除参数重新排序参数这些选项在VS2010VB.Net中可用吗?当我右键单击时,我只能看到“重命名”吗? 最佳答案 “重命名”是VB.Net唯一的重构。C#绝对更健壮。查看CodeRushXpress.它是完整工具的精简免费版本,但它可能会提供您缺少的一些重构。就个人而言,我使用并且非常喜欢Resharper.在我看来,物有所值。 关于c#-VisualStud

c# - 如何在 ASP.NET MVC 中保持 Controller 较小?

我有一个设计得很好的架构,其中Controller转到访问与数据库通信的存储库的服务。因此,Controller中的逻辑保持在最低限度,但我仍然有非常微妙的代码片段来执行一些任务,例如验证模型安排Action方法参数使用这些参数调用一些服务,如果模型现在无效,可能会验证结果并返回View最终根据服务的结果生成一个模型,并将其返回。一些较长的案例根据服务返回的“状态”做不同的事情。举几个例子:[HttpPost][AjaxOnly][Authorize]publicJsonResultPreview(stringinput){LinkResultparsed=linkService.Pa

c# - Resharper 查找模式并替换 - 如何插入字符串

我们有一个完整性检查方法voidIsNotNull(Tobj){...}调用IsNotNull(obj);我想替换它以调用另一个重载,该重载采用字符串类型(消息)的第二个参数voidIsNotNull(Tobj,stringmessage){...}所以我想将调用更改为IsNotNull(obj,"objisnull");我正在尝试使用resharper的查找模式和替换来实现这一点。所以我的查找模式是:IsNotNull($args$)-这工作正常并且它找到方法调用替换模式:IsNotNull($args$,"$args$isnull")-这什么都不做我也试过这个IsNotNull($

c# - 将条件替换为多态重构还是类似的?

我曾尝试问过这个问题的一个变种。我得到了一些有用的答案,但仍然没有什么对我来说很合适。在我看来,这真的不应该那么难,但我无法找到一个优雅的简单解决方案。(这是我的上一篇文章,但是请首先尝试看一下此处作为程序代码说明的问题,以免受到前面的解释的影响,该解释似乎导致非常复杂的解决方案:Designpatternforcostcalculatorapp?)基本上,问题是为可以包含许多服务的项目创建所需小时数的计算器。在这种情况下,是“写作”和“分析”。对于不同的服务,小时数的计算方式有所不同:通过将“每个产品”的小时率乘以产品数来计算写作,并且项目中包含的产品越多,小时率就越低,但是总的小时

c# - 从类中分解所有依赖项的最简单、最快的方法

在使用遗留代码并尝试创建测试时,我经常从类或方法中分离出依赖关系,这样我就可以使用模拟来为这些依赖关系编写单元测试。依赖性最常见的形式是调用静态类和使用构造函数中的new关键字或该类中的其他位置创建的对象。在大多数情况下,静态调用是通过包装静态依赖项来处理的,或者如果它是StaticClass.Current.MethodCall()形式的单例模式(或类似模式),则通过其接口(interface)传递该依赖项来代替构造函数。在大多数情况下,在构造函数中使用new关键字只是通过在构造函数中传递该接口(interface)来代替。在大多数情况下,在类的其他部分使用new关键字,要么通过与上

c# - 我怎样才能实现我自己的外部类型?

在我们的产品中,我们有称为“服务”的东西,它们是产品不同部分之间(尤其是语言之间——内部语言、C、Python和.NET)之间的基本通信方式。目前代码是这样的(Services.Executeutilizingparamsobject[]args):myString=(string)Services.Execute("service_name",arg1,arg2,...);我宁愿能够编写这样的代码并获得类型检查和更简洁代码的好处:myString=ServiceName(arg1,arg2,...);这可以通过一个简单的函数来实现,publicstaticstringServiceN

c# - 具有多个返回点的重构方法

**编辑:下面有几个可行的选项。请根据您对此事的看法进行投票/评论。我正在清理并向具有以下基本结构的c#方法添加功能:publicvoidprocessStuff(){StatusreturnStatus=Status.Success;try{boolstep1succeeded=performStep1();if(!step1succeeded)returnStatus.Error;boolstep2suceeded=performStep2();if(!step2suceeded)returnStatus.Warning;//..Moresteps,someofwhichcould