Tag: 代码质量

Swift和iOS良好做法#12中代码质量和简洁性的提示

导入SomeExternalFramework FooViewController类:UIViewController,FoobarDelegate { let foo:富 private let fooStringConstant =“ FooConstant” 私人让floatConstant = 1234.5 // MARK:生命周期 //自定义初始化程序转到此处 // MARK:查看生命周期 覆盖func viewDidLoad(){ super.viewDidLoad() // … } // MARK:布局 私人函数makeViewConstraints(){ // … } // MARK:用户互动 func foobarButtonTapped(){ // … } //标记:FoobarDelegate func foobar(foobar:Foobar,didSomethingWithFoo foo:Foo){ // … } // MARK:其他助手 私人功能displayNameForFoo(foo:Foo){ // … } } 如果您不打算对一个类进行子类化,请将其定为final 。 对tableview进行两个扩展 (一个用于数据源,另一个用于委托方法)。 […]

使用loadView()编写更清晰的Swift View代码

最初发布于 swiftrocks.com 。 在使用情节提要和以编程方式编写视图之间的选择非常隐晦。 过去已经处理过这两个问题,我个人保证完全通过视图代码编写项目,因为它允许多个人在同一个类中工作,而不会造成棘手的冲突,并且代码审查更加轻松。 从以编程方式编写视图的实践开始,人们面临的一个普遍问题就是将代码放在首位。 如果您遵循将所有与视图相关的内容放入视图控制器的常规情节提要板方法,那么最终获得一个巨大的神类非常容易: final class MyViewController: UIViewController { private let myButton: UIButton = { // }() private let myView: UIView = { // }() //Other 10 views or so override func viewDidLoad() { super.viewDidLoad() setupViews() } private func setupViews() { setupMyButton() setupMyView() //setup for all the other views } private func […]

您的iOS项目的代码质量? 您为什么不解决一些皮棉问题?

众所周知,编写代码和编写漂亮的代码是有区别的。 特别是对于那些热爱开源并为开源项目做出贡献的人们,因为他们正在与团队合作以实现他们的项目目标,所以他们必须编写精美的代码。 因此,今天,我将讨论一些有用的工具,这些工具通过修复代码的皮棉问题来提高您的快速代码质量。 我将使用来自领域的SwiftLint作为修复我的swift代码的lint问题的工具。 第一步,让我们看看如何在项目中设置SwiftLint。 步骤01 创建一个新的Xcode项目 步骤02 从终端导航到项目目录 步骤03 由于我将cocoapods用作依赖项管理工具,因此我将按照以下步骤为我的项目设置cocoapods。 pod init vim podfile 创建Podfile后,请按“ i”切换以在终端中插入心情。 首先,提及目标iOS版本(平台:ios,’version’)始终是一个好习惯,您可以在frameworks部分下添加。 吊舱“ SwiftLint” 否则,如果您有与项目相关的其他Pod,则可以始终将它们放在与项目和项目相关的测试的单独目标下,也可以维护项目和测试通用的共享Pod组。 然后像往常一样,按Escape键并输入:wq来写下您的更改。 之后,运行以下命令来安装SwiftLint相关的Pod。 pod install 为我们的Xcode项目设置SwiftLint几乎完成了。 下一步是向项目添加“ 新建运行脚本”阶段 。 为了那个原因, 从项目导航器面板(Xcode的左侧窗格)中选择您的项目。转到Build Phases,然后按+(加号)图标。 单击“新建运行脚本阶段”,然后粘贴以下运行脚本(由于我们已通过CocoaPods安装了SwiftLint,因此该脚本应如下所示)。 “ $ {PODS_ROOT} / SwiftLint / swiftlint” 到这里开始,构建完成后,您将看到错误和警告列表。 然后再次构建您的项目。 由于我们已经在我们的项目中设置了SwiftLint,因此我想解释一些常见问题以及解决方法。 问题01:尾随空白违反 SwiftLint发出此警告是因为它已识别出空格或该特定行中的多余空行。 要解决此问题,我们必须删除SwiftLint警告所指向的未使用的空行。 问题02:违反行长 在此问题中,SwiftLint向您发出警告,因为您已经超过了特定代码行的最大字符长度。 要解决此问题,您必须将代码重构为不超过最大字符长度。 问题03:强制尝试违反 在这个例子中,我试图用try块强行包装一段代码块。 由于这不是一个好习惯,因此SwiftLint会给我们一个错误,以避免发生这种情况。 为了解决这个问题,我用do包裹了整个块/逻辑,如下面的代码所示,捕获了块。 这是与Xcode一起使用的一些有用的工具/扩展,以及遵循的iOS最佳实践的集合。 https://github.com/theswiftdev/awesome-xcode-extensions […]