井井有条的项目是一个清晰的文件结构加上一个标记的代码。
我们尝试组织生活,因此时间表是一个很好的工具。 当我们要清洁桌子时,我们将所有东西整理好了。 这些想法我们可以应用于我们的代码,因为它是我们日常生活的一部分。
第1阶段-项目文件结构
我希望您没有一个包含.xcodeproj
文件之类的文件列表的项目。 有数十个没有任何功能分类的文件。
您可以说:嗯,所有文件都应组织在项目文件中。 让我们打开百宝箱。 我们能看到什么? 像这样:
请不要说您以相同的方式进行操作。 最后一个示例由Apple提供,但是当您应该为具有大量类和职责的真实项目提供支持时–与以前计划相比,您将花费更多的时间进行搜索和准备。
此示例来自MVC范例,在该范例中我们按类型创建了分组。 结果,我们开发了一个快速的基础和难扩展的结构。
解决方案1:
我为自己找到的最好的体系结构之一是按功能分组。 Andrew Cherkashyn在他的文章:以xCode组织iOS项目文件的最佳方法中对此进行了描述。
所描述的结构更加复杂,但易于扩展。 此外,我们可以轻松地将其修改为其他架构:MVP,MVVM,VIPER…在下面提供的示例中,我们的项目结构如下所示:
阶段2 –类或文件中的结构
仅当M
不代表Massive时,我才喜欢MVC模式。 苹果将其用作基本概念,并且效果很好。 如果要在模型/视图/控制器/等中更好地组织代码,该怎么办? 它们为我们提供了来自Objective-C的#pragma mark
的极大可能性。 在Swift中,我们将其称为// MARK:
note。 不幸的是,一些开发人员跳过了此功能。 他们使自己的代码变得肮脏,并且不将其分离为不同类型的功能。 作为示例,它可以像这样:
我们在那里:
- 在文件的顶部,存在方法
addAlbum(_:)
-一个动作方法; - 在中间,有两个枚举:
SegueIdentifier
和CellIdentifier
; - 在
CellIdentifierds.
下声明的变量CellIdentifierds.
- 完全没有标记。
我的第一意见:
解决方案2:
1.您应该在指定的具体区域内组织枚举/属性/方法/扩展/等。 另外,不要将代码放在任何需要的地方。 如果使用多个枚举,最好将其描述在一个位置,例如在文件或类的顶部:
2.使用// MARK: -
仅几行代码可更快地在文件中查找内容。 快速示例:
恢复:
井井有条的项目加上相同的代码样式,可让您和您的团队更好地理解项目及其所有组件。 我坚持认为,清晰的代码可以提高生产率并缩短问题解决时间。
例子:
MARKs
示例:
- 模型中的标记(类/结构)
- ViewController中的标记
- 其他标记
- 全部清单
在这里,您可以找到结构良好的项目和标记代码的示例:
sergVn / Marks-示例
Marks-Example –按功能分组并标记文件的示例github.com
谢谢阅读! 整理代码-简化生活。
- taskgated:杀死应用程序,因为它不允许使用com.apple.developer.ubiquity-container-identifiers权利
- 当我关闭iOS中的应用程序时,哪个事件?
- 使用performBackgroundTask更新NSFetchedResultsController
- 将UIPrinter保存到NSUserDefaults
- Phonegap 2.6与KeyboardShrinksView和HideKeyboardFormAccessoryBar
- UICollectionView:一行或一列
- 确定使用哪个共享扩展
- 为什么最终的二进制文件的大小比静态库的大小要小得多呢?
- iPhone:我如何build立我自己的TabBar?