TEL:400-8793-956
当前位置:程序、服务器

在 C#(或任何语言)中,您最喜欢的消除重复的方式是什么?

提问者: 近期获赞: 浏览人数: 发布时间:2022-03-20 13:18:39

 问:我刚刚编写了一个 700 行的类。可怕。我羞愧地低下了头。它与DRY正好相反,就像英国的夏天一样。

 
它充满了剪切和粘贴,并在这里和那里进行了细微的调整。这使它成为重构的主要候选者。在我开始之前,我想我会问当你有很多重复时,你寻找的第一个重构机会是什么?
 
作为记录,我的可能正在使用:
 
泛型类和方法
方法重载/链接。
你的是什么?
 
 
答:我喜欢在需要时开始重构,而不是一有机会就开始重构。您可能会说这在某种程度上是一种敏捷的重构方法。我什么时候觉得我需要?通常当我觉得我的代码中丑陋的部分开始蔓延时。我认为丑陋的东西只要被遏制住就可以了,但是当它们开始有传播的冲动的那一刻,那就是你需要照顾生意的时候。
 
您用于重构的技术应该从最简单的开始。我强烈推荐 Martin Fowler 的书。将通用代码组合到函数中、删除不需要的变量和其他简单的技术可以让您获得很多好处。对于列表操作,我更喜欢使用函数式编程习语。也就是说,我尽可能使用内部迭代器、map、filter 和 reduce(在 python 中,ruby、lisp 和 haskell 中有相应的东西),这使得代码更短,更独立。
上一篇: 如何在 Borland StarTeam 中获得特定标记版本的文件夹?
下一篇: HTTPS 与 Visual Studio 的内置 ASP.NET 开发服务器