井井有条的项目是一个清晰的文件结构加上一个标记的代码。

我们尝试组织生活,因此时间表是一个很好的工具。 当我们要清洁桌子时,我们将所有东西整理好了。 这些想法我们可以应用于我们的代码,因为它是我们日常生活的一部分。

第1阶段-项目文件结构

我希望您没有一个包含.xcodeproj文件之类的文件列表的项目。 有数十个没有任何功能分类的文件。

您可以说:嗯,所有文件都应组织在项目文件中。 让我们打开百宝箱。 我们能看到什么? 像这样:

请不要说您以相同的方式进行操作。 最后一个示例由Apple提供,但是当您应该为具有大量类和职责的真实项目提供支持时–与以前计划相比,您将花费更多的时间进行搜索和准备。

此示例来自MVC范例,在该范例中我们按类型创建了分组。 结果,我们开发了一个快速的基础和难扩展的结构。

解决方案1:

我为自己找到的最好的体系结构之一是按功能分组。 Andrew Cherkashyn在他的文章:以xCode组织iOS项目文件的最佳方法中对此进行了描述。

所描述的结构更加复杂,但易于扩展。 此外,我们可以轻松地将其修改为其他架构:MVP,MVVM,VIPER…在下面提供的示例中,我们的项目结构如下所示:

阶段2 –类或文件中的结构

仅当M不代表Massive时,我才喜欢MVC模式。 苹果将​​其用作基本概念,并且效果很好。 如果要在模型/视图/控制器/等中更好地组织代码,该怎么办? 它们为我们提供了来自Objective-C的#pragma mark的极大可能性。 在Swift中,我们将其称为// MARK: note。 不幸的是,一些开发人员跳过了此功能。 他们使自己的代码变得肮脏,并且不将其分离为不同类型的功能。 作为示例,它可以像这样:

我们在那里:

  1. 在文件的顶部,存在方法addAlbum(_:) -一个动作方法;
  2. 在中间,有两个枚举: SegueIdentifierCellIdentifier ;
  3. CellIdentifierds.下声明的变量CellIdentifierds.
  4. 完全没有标记。

我的第一意见:

解决方案2:

1.您应该在指定的具体区域内组织枚举/属性/方法/扩展/等。 另外,不要将代码放在任何需要的地方。 如果使用多个枚举,最好将其描述在一个位置,例如在文件或类的顶部:

2.使用// MARK: -仅几行代码可更快地在文件中查找内容。 快速示例:

班级成绩

恢复:

井井有条的项目加上相同的代码样式,可让您和您的团队更好地理解项目及其所有组件。 我坚持认为,清晰的代码可以提高生产率并缩短问题解决时间。

例子:

MARKs示例:

  • 模型中的标记(类/结构)
  • ViewController中的标记
  • 其他标记
  • 全部清单

在这里,您可以找到结构良好的项目和标记代码的示例:

sergVn / Marks-示例
Marks-Example –按功能分组并标记文件的示例github.com

谢谢阅读! 整理代码-简化生活。