标签: code-cleanup

以自动方式摆脱C#代码中的匈牙利符号?

我有一个使用的系统匈牙利大多数变量名,这基本上意味着我有很多大的代码库 objQueue的,objCommon的,dtDataSet的等等.

有没有办法转换他们中的大多数?特别是,我想摆脱obj那些完全没有意义的烦人的,让变量名称看似相似,代码完全不可读.

一个类似的问题,但它询问是否值得做替换.
像"保持原样"这样的答案对我没有任何用处,因为我肯定我需要这样做.

代码库非常大,我不想逐个重命名变量.我也不想运行查找和替换,因为我会得到错误的命中并进一步搞乱代码.

是否有任何自动化工具可以在Visual Studio中进行此类替换?还有一些针对Resharper的插件,不管怎样?

resharper hungarian-notation code-cleanup visual-studio

6
推荐指数
1
解决办法
807
查看次数

避免代码中的调试内容混乱

当我写东西时,一半的努力倾向于添加清晰简洁的调试输出,或者当需要调试时可以启用/禁用的功能.

调试功能的一个例子是下载器类,在这里我可以打开一个#define,让它"假装"下载文件,然后简单地把我送回去.这样我就可以测试用户下载文件时会发生什么,而不必等待网络每次都物理地抓取文件.这是很棒的功能,但#ifdefs的代码变得更加混乱.

我最终得到了一堆#define

// #define DEBUG_FOOMODULE_FOO
// #define DEBUG_BARMODULE_THINGAMAJIG
// ...
Run Code Online (Sandbox Code Playgroud)

对于我想看的东西没有注释.代码本身就像是

- (void)something
{
    #ifdef DEBUG_FOOMODULE_FOO
    DebugLog(@"something [x = %@]", x);
    #endif
    // ...
    #ifdef DEBUG_FOOMODULE_MOO
    // etc
}
Run Code Online (Sandbox Code Playgroud)

这对于编写/维护代码非常有用,但它对代码的外观没有任何作用.

人们如何编写毫不费力的即时长期调试"东西"呢?

注意:我不仅在这里谈论NSLogging ......我也在讨论像上面假装下载这样的东西.

iphone debugging coding-style objective-c code-cleanup

6
推荐指数
1
解决办法
143
查看次数

组织Android SDK的代码文件/ XML文件

有人可以提供一些策略来组织我的项目,使其干净吗?说我有一堆活动; 是否可以将它们全部放入一个单独的包中,同时将其他类(如自定义适配器)放在另一个包中以更好地分离"逻辑"?

此外,在为布局创建XML文件时,如果我有某些活动的布局和自定义"行"的其他XML布局文件(与适配器一起使用),我将如何逻辑地分离布局XML文件我不想要将它们全部投入到res/layout中 - 当项目变得非常大时,它将成为一个巨大的麻烦.

android organization code-cleanup android-layout

6
推荐指数
1
解决办法
2181
查看次数

清理庞大的Perl Codebase

我目前正在开发一个大约15年的Web应用程序.

它主要包含带有HTML :: Template模板的CGI perl脚本.

它有超过12 000个文件和大约260 MB的总代码.我估计不需要超过1500 perl脚本,我想摆脱所有未使用的代码.

实际上没有为代码编写测试.

我的问题是:

  • 您是否了解任何可以帮助我获取d和d模块列表的CPAN模块?userequire
  • 如果你想摆脱所有额外的代码,你的方法是什么?

我在考虑以下方法:

  • 尝试使用在特定位置输出加载的文件名的内容来覆盖userequireperl内置类
  • 覆盖warnings和/或strict模块import功能,并在特定位置输出文件名
  • 研究Devel::Coverperl模块并采用相同的方法并在进行手动测试而不是自动测试时分析代码
  • 用自定义的perl可执行文件替换perl可执行文件,它将记录它读取的文件的每个名称(我不知道该怎么做)
  • 一些创造性的使用lsof(?!?)

perl cgi web-applications code-cleanup

6
推荐指数
1
解决办法
283
查看次数

-Info类名后缀的替代方法

我一直在读Robert C. Martin的清洁代码,并且发现了臭名昭着的声明:

避免使用类名称中的管理器,处理器,数据或信息等字样.

所以,很自然地,我试图-Info从我的一个班级名称中分解出来.现在,我已经看到了各种StackOverflow问题,询问在-Manager或的情况下该怎么做-Processor.我看到评论表明他们无法想象-Data一个好的班级名称.嗯,在我看来,-Data-Info似乎更难分解出.特别是,例如在下面的类中.

我有一个Server类如下:

public class Server {
    //What I would call ServerInfo
    private int id;
    private String name;
    private String address;
    private int port;
    private int connections;
    private int maxConnections;
    private int status;

    //Bunch of members that aren't ServerInfo, for example:
    private ConcurrentHashMap<String, File> files = new ConcurrentHashMap<String, File>();
    private List<String> filePaths = new List<String>();
    /* ... */

    public …
Run Code Online (Sandbox Code Playgroud)

java naming-conventions code-cleanup

6
推荐指数
1
解决办法
1599
查看次数

同时从多个页面中删除未使用的CSS(整个网站)

我在谷歌搜索了一些你必须支付的在线未使用的css删除器.我还在stackoverflow上查看了可能会这样做的程序.我只通过谷歌浏览器找到了一个简单的方法.

  1. 自定义和控制谷歌Chrome浏览器
  2. 工具
  3. 开发选项
  4. 审计
  5. 检查审核当前状态,仅检查网页性能,然后按RUN运行
  6. 然后我可以在文件上看到当前页面的未使用的css

问题在于,这个仅针对一页(当前)进行.我有三个页面这里网站: PAGE 1,第2页,第3页.我想同时找到所有三个页面中未使用的css部分.是否有免费的工具或网站?

html css code-cleanup

6
推荐指数
1
解决办法
1673
查看次数

RxJS重构嵌套的映射语句

我有一个服务,用于@angular/http从API加载数据.我想为我Components使用这些数据创建检索数据的投影.

因此我写了以下代码:

getById(id: string) {
  return this.http
    .get(`https://my-api.io/${id}`)
    .map(response => response.json())
    .map(contracts =>
      contracts.map(contract =>        # <- Nested map
        new Contract(
          contract['id'],
          contract['description']
        )
      )
    );
}
Run Code Online (Sandbox Code Playgroud)

在第6行中,我有一个嵌套的map-Statement,降低了我的代码的可读性.

我可以做得更好吗?在RxJS中是否有一个操作符,我可以使用它而不是创建这种嵌套?

提前致谢!

refactoring code-cleanup rxjs rxjs5 angular

6
推荐指数
1
解决办法
4836
查看次数

make clean、make clobber、make distclean、make mrproper 和 make realclean 之间有什么区别?

我并不总是写 make 文件,但是当我这样做时,我喜欢尝试把它们写好。试图使界面与其他开发人员可能期望的一致总是很困难的。我正在寻找的是所有常见的 make something clean (GNU) make 目标的摘要。

常见的清洁目标有哪些?

每个目标通常什么时候使用?

每个目标与其他目标相比如何?


我曾使用make clean,make clobbermake mrproper之前的系统。那些变得越来越极端;make clean只整理临时文件,make clobber摆脱大部分配置,make mrproper几乎回到刚刚签出的状态。这是正常的秩序吗?应该make mrproper始终删除生成的二进制文件和共享库以进行部署吗?

阅读建议将make distclean事情整理到准备制作分发包的程度。我想这会留下一些自动生成的版本标记文件、文件清单和共享库,但可能会删除您不想存档的临时文件?

make realclean当我在GNU MakeGoals 手册页上看到它时,它对我来说是全新的。正如它列出的那样distcleanclobber我猜它有类似的效果。我是否从未遇到过它,因为它是一个历史文物,或者只是我必须从事的一组项目的特定内容?


抱歉,这有点啰嗦。我找到了将一个目标与另一个目标进行比较的各种问题和答案,但似乎没有一个可以很好地概述。

packaging makefile compilation code-cleanup gnu-make

6
推荐指数
1
解决办法
6145
查看次数

Visual Studio - 代码清理不应用命名首选项

我有一个.editorconfig文件,其中包含我的命名首选项。当我运行代码清理时,它会自动格式化除命名之外的所有其他首选项。当我将鼠标悬停在违反命名首选项的变量上时,它会告诉我它违反了哪一个,我可以右键单击将其更改为正确的格式,但是当像我的其他首选项一样运行代码清理时,这不会自动发生。

我是否缺少 VS 设置以.editorconfig在运行代码清理时自动应用命名首选项?

偏好通知示例:

在此输入图像描述

编辑器配置命名首选项:

# Naming rules

dotnet_naming_rule.private_or_internal_field_should_be_underscore_prefixed_camel_case.severity = warning
dotnet_naming_rule.private_or_internal_field_should_be_underscore_prefixed_camel_case.symbols = private_or_internal_field
dotnet_naming_rule.private_or_internal_field_should_be_underscore_prefixed_camel_case.style = underscore_prefixed_camel_case


# Symbol specifications

dotnet_naming_symbols.class.applicable_kinds = class
dotnet_naming_symbols.class.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.class.required_modifiers = 

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers = 

dotnet_naming_symbols.method.applicable_kinds = method
dotnet_naming_symbols.method.applicable_accessibilities = *
dotnet_naming_symbols.method.required_modifiers = 

dotnet_naming_symbols.property.applicable_kinds = property
dotnet_naming_symbols.property.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.property.required_modifiers = 

dotnet_naming_symbols.public_or_protected_field.applicable_kinds = field
dotnet_naming_symbols.public_or_protected_field.applicable_accessibilities = public, protected
dotnet_naming_symbols.public_or_protected_field.required_modifiers …
Run Code Online (Sandbox Code Playgroud)

c# code-cleanup visual-studio editorconfig

6
推荐指数
1
解决办法
1454
查看次数

代码清理不会在 Visual Studio 2022 中格式化文档

我在 Visual Studio 17.4.1 中对选项卡大小进行了以下设置:

在此输入图像描述

当我使用Edit->Advanced->Format Document时,我得到以下结果:

在此输入图像描述

我配置了代码清理,据称其中包含格式文档

在此输入图像描述

当我保存或显式使用它时,我得到以下结果:

在此输入图像描述

是否有两个单独的“格式化文档”命令?我应该如何得到相同的结果?

code-cleanup visual-studio-2022

6
推荐指数
1
解决办法
614
查看次数