2

有没有办法在 xCode 或替代 Obj-C 程序中突出显示相似或替代代码块?在随附的图片中,您可以快速了解哪个块在另一个块之后运行,或者哪个是替代块(if-else)。(图片上的代码只是示例)。这似乎是与 {}-counting 相关的任务,所以我希望有一些实现。实际上,只有在我将其突出显示后,我才能理解图片上代码的流程,如您所见。

在此处输入图像描述

4

2 回答 2

1

您要求的是范围突出显示。据我所知,Xcode 并没有这样做。但是,您可以将鼠标悬停在左侧的代码折叠列上并简要查看范围。

于 2013-08-03T15:47:55.367 回答
1

由于这是一种非答案,我最初将其写为评论。但它太长了,所以我把它放在这里。为避免这个问题提前道歉。但我正在尝试解决问题背后的问题……</p>

如果您必须对方法进行颜色编码才能理解它,那么该方法太长了。 提取方法并赋予它们有意义的名称,清楚地说明它们的目的(尽管不是它们的实现)。

以下是我遵循的经验法则:

  • 如果一个方法有很多局部变量,或者有很多不同的缩进,首先使用Extract Class将方法拉入一个新的类,作为一个函数对象。然后将局部变量提升为 ivars。
  • 尽管有许多人陈述了危险,但如果内部范围只有一行,我会省略大括号。这减少了代码的垂直距离,使其更具可读性。可读性更重要。(但是如果你的代码没有被单元测试覆盖,这可能是有风险的。所以要确保方法被很好地覆盖。)
  • 当我在一个方法中看到大括号时,我尝试将该部分提取到另一个(命名良好的)方法中。
  • 寻找机会将if语句的内容提取到表达什么的谓词方法中(将方法隐藏在方法中)。
  • 我尝试将方法保持在六行以下。不仅如此,我开始批判性地关注它:它做的不止一件事吗?它是否在多个抽象级别上运行?

关于这些原则的更多信息,我强烈推荐Clean Code 第 3 集

于 2013-08-03T16:44:24.547 回答