您现在的位置是:主页 > news > 南京网站制作系统/温州网站快速排名

南京网站制作系统/温州网站快速排名

admin2025/6/21 11:11:30news

简介南京网站制作系统,温州网站快速排名,wordpress seo什么意思,网站的footer怎么做本文迁移自本人简书账号酱油葱, 后续不会再在简书更新文章, 具体原因可以查看简书CEO盛赞程序员出轨率高“真实、新鲜、多元” ,对不起打扰了 代码风格 这是个永恒的话题, 每个程序员都有自己的看法和习惯. 但是行业里总会有些公认的规则, 公司里也需要一个统一的标…

南京网站制作系统,温州网站快速排名,wordpress seo什么意思,网站的footer怎么做本文迁移自本人简书账号酱油葱, 后续不会再在简书更新文章, 具体原因可以查看简书CEO盛赞程序员出轨率高“真实、新鲜、多元” ,对不起打扰了 代码风格 这是个永恒的话题, 每个程序员都有自己的看法和习惯. 但是行业里总会有些公认的规则, 公司里也需要一个统一的标…

本文迁移自本人简书账号酱油葱, 后续不会再在简书更新文章, 具体原因可以查看简书CEO盛赞程序员出轨率高“真实、新鲜、多元” ,对不起打扰了

代码风格

这是个永恒的话题, 每个程序员都有自己的看法和习惯. 但是行业里总会有些公认的规则, 公司里也需要一个统一的标准. 所以这个话题直接略过, 重点谈如何用工具保证一个团队输出内容风格的一致性.

自动Format

简书上已有不少相关的内容, 例如叶孤城的这篇文章. 目前, 本人使用的也是Square公司开源的"Clang-Format"进行代码规范. 一直以来用的都挺好.

但是自从Swift出世后, 问题就来了. Square公司的spacecommander项目不支持Swift文件的处理. 而且Square公司暂时也没有开源关于Swift的Format工具. 所以只能另寻它法.

还好, 这边有一个牛人开发了相应的Swift格式化工具SwiftFormat. 而且同样流畅的命令行操作, 可以让我们的工作变得轻松.

详细用法

安装

支持Homebrew安装

brew update brew install swiftformat

也支持项目编译安装. 这个比较麻烦, 大伙需要的话就直接去github上看README文档吧

使用

由于工具开发者本人实现了XCode 8的Extension, 所以希望使用菜单项或者Hot Key的朋友可以尝试一下. 文档已经描述的很详细了.

本人用的是直接Hooks到仓库git上, 步骤如下:

  1. 进入本地项目目录, 创建或打开.git/hooks/pre-commit文件

cd *** //***为项目路径 vi .git/hooks/pre-commit

  1. 如果项目文件之前已存在, 则在下方添加以下内容(与文档说明略有出入, 考虑到CocoaPods/Carthage问题)
git status --porcelain | grep -e '^[AM]\(.*\).swift$' | cut -c 3- | while read line; doswiftformat ${line};git add $line;
done
复制代码

如果有童鞋没有将.gitignore文件对PodsCarthage目录进行过滤*(虽然一般人都不会这么做ORZ)*, 那么可以考虑换成以下内容

git status --porcelain | grep -v 'Pods/' | grep -v 'Carthage/' | grep -e '^[AM]\(.*\).swift$' | cut -c 3- | while read line; doswiftformat ${line};git add $line;
done
复制代码
  1. 如果项目文件之前不存在, 则添加以下内容
#!/bin/bash
git status --porcelain | grep -e '^[AM]\(.*\).swift$' | cut -c 3- | while read line; doswiftformat ${line};git add $line;
done
复制代码
  1. 保存退出, 修改该文件的执行权限. 从此万事大吉

chmod +x .git/hooks/pre-commit

示例

进一步的问题

ObjectiveC老项目, 添加新的Swift语言进行混编时, 如何进行代码自动规范化?

很简单, 首先先使用Square公司的spacecommander项目工具脚本setup-repo.sh对项目进行初始化. 这个脚本会自动帮你在项目的.git/hooks目录下创建pre-commit文件并填入脚本内容.

然后, 在第二行插入以下内容(就是上面提及的SwiftFormat脚本):

git status --porcelain | grep -e '^[AM]\(.*\).swift$' | cut -c 3- | while read line; doswiftformat ${line};git add $line;
done
复制代码

考虑到我们团队可能需要保留未使用的参数, 所以可以修改为以上内容为:

git status --porcelain | grep -e '^[AM]\(.*\).swift$' | cut -c 3- | while read line; doswiftformat --disable unusedArguments ${line};git add $line;
done
复制代码

保存退出. 从此你就能满地图的乱写OC/Swift代码了. 妈妈再也不用担心我的格式问题了!

代码格式化规范如何调整

目前还真没有比较好的办法. 正如spacecommander项目提及的: You may wish to fork [ Space Commander] to apply your team's particular set of formatting rules (more details below), or clone to enjoy Square's flavor of Objective-C formatting.

如果你们团队希望使用自己的规范, 基本只能考虑fork项目, 然后在本地进行修改生成新的pods, 再做导出.

SwiftFormat项目则提供了命令行参数的方式进行部分风格设置项:

目前SwiftFormat的版本为0.24.6, 希望能在未来的版本中看到更多的改进内容.

以上内容, 如有问题或错误, 可以随时与本人联系. 感谢阅读!