- 引言
- 本书涉及的内容
- 第 1 部分 Python 开发入门
- 第 1 章 Python 入门
- 第 2 章 开发 Web 应用
- 第 3 章 Python 项目的结构与包的创建
- 第 4 章 面向团队开发的工具
- 第 5 章 项目管理与审查
- 第 6 章 用 Mercurial 管理源码
- 第 7 章 完备文档的基础
- 第 8 章 模块分割设计与单元测试
- 第 9 章 Python 封装及其运用
- 第 10 章 用 Jenkins 持续集成
- 第 11 章 环境搭建与部署的自动化
- 第 12 章 应用的性能改善
- 第 13 章 让测试为我们服务
- 第 14 章 轻松使用 Django
- 第 15 章 方便好用的 Python 模块
- 附录 A VirtualBox 的设置
- 附录 B OS(Ubuntu)的设置
4.3 聊天系统
在团队开发中,必须保证报告、联络、探讨这些交流能顺利进行。说到交流,一般不是面对面开会就是邮件往来,然而面对面开会时,其内容很难与不在场的成员共享,而邮件又难以保证效率。聊天系统则能扬长避短,轻松实现远程实时对话以及团队内信息共享。
聊天系统种类繁多,比如 Skype、Slack、LINE、IRC 等。这里我们来了解一下 Slack7 。
4.3.1 Slack
Slack 是一款面向企业和团体的交流工具。除了可以进行一对一的对话之外,还能创建多个频道、内部群组等聊天室,让多名团队成员同时参与对话(图 4.14)。
图 4.14 Slack
这项服务在 2013 年才刚刚起步,但由于其导入简单、使用方便而广受人们青睐,如今已被许多企业和团体使用。
4.3.2 Slack 的特点
下面我们来了解一下 Slack 的主要特点。
◉ 能轻松导入的 Web 服务
虽然 Slack 有专用的客户端,但其很大程度上是基于 Web 的,所以能脱离客户端直接通过浏览器使用。它不像 IRC 那样需要准备服务器,再加上采用了免费增值模式,因此可以免费使用。导入和使用几乎零成本是它的巨大优势。
◉ 能与许多外部服务联动
Slack 可以实现与许多外部服务的联动(Integration)。它标配的 Integration 超过 60 种,其中包括了 Dropbox、GitHub、Google Drive、Twitter 等,我们可以从设置界面轻松地开启某项联动功能。联动的内容因服务而异,以 Google Drive 为例,如果我们在聊天室粘贴了 Google Drive 上的文档的 URL,聊天室内就会自动显示出文档的标题。
Redmine 与 Slack 的联动可由 Slack chat plugin for Redmine8 实现。这是一个要用到 Slack API 的插件,将它导入 Redmine 之后,Redmine 就能向 Slack 的聊天室发送通知了。
8 https://github.com/sciyoshi/redmine-slack
除 Redmine 之外,Jenkins、Sentry 也可以向 Slack 发送通知(图 4.15)。Jenkins 直接用标配的 Integration 即可。如果使用 Sentry,则要给 Sentry 安装 sentry-slack 扩展 9 。
9 https://github.com/getsentry/sentry-slack
图 4.15 Slack 与 Redmine 和 Jenkins 的联动
通过实时显示问题的更新、向版本库的提交、Jenkins 的构建信息等,既可以方便我们掌握团队成员的工作情况,又可以保留作业日志,对团队开发而言是一种极大的帮助。
◉ 可创建 bot
Slackbot 是 Slack 标配的 bot。这个功能会对我们设置的关键字作出反应,然后返回特定的消息。比如,如果希望在有人说“我要回家了”的时候,自动回答“您辛苦了”这句话或者别的话,只要在 Slackbot 中进行相应设置就行了。
如果想进行更加复杂的处理,可以用 Slack 附带的 WebHook 功能来创建自己的 bot。
既然是自己的 bot,那它的用处就全看我们的创造力了。
举个例子,假设我们在 Google Drive 的电子表格里存了测试项目与测试结果的数据一览。现在每次查看测试进展情况都要打开一次电子表格,实在太麻烦,所以我们希望这一流程能实现自动化。这时就可以创建一个 bot,让它在电子表格更新时自动获取测试结果一览,并提交给 Slack。有了这个 bot 之后,团队所有成员都能共享测试的情况,这对团队开发大有助益。
◉ 强大的 @ 功能加速团队内的信息传递
Slack 有着强大的 @ 功能,这个功能可以让我们在发消息时指定呼叫某个用户。如果在我们使用 Slack 时,有人发消息并 @ 了我们,那么聊天室列表中会显示通知图标,告诉我们“有人 @ 你”。如果我们当时不在线,该消息内容会以邮件形式进行通知。另外,使用 iOS 或 Android 的 Slack 应用时,通知会显示在终端的通知区域里。由于它会借助各种通知手段来通知,因此我们很难漏掉那些 @ 自己的信息。此外,Slack 还有“@ 一览”功能,供用户查看以往所有 @ 自己的信息。
在 @ 别人时,用户名输入到一半会自动弹出用户名候选列表,我们只要从列表中选择用户名即可。这样一来既可以节省时间,又能防止输错用户名。如果要 @ 聊天室中的所有人,需要用 @channel、@group 等特殊名称。
正因为 Slack 的 UI 发 @ 方便、被 @ 醒目,所以很少会出现“想告诉某人一件事,结果某人没注意到”这种沟通失误。对使用 Slack 的团队开发而言,这绝对是一大优势。
◉ URL 和文件的预览功能
在聊天室贴 URL 或向聊天室上传文件后,成员们能预览其内容。Web 页面的 URL 会显示该页面内的文本,图片的 URL 则会显示图片。上传的文件也是同样道理,文本文件会显示文本,jpg 或 png 等图片文件则会显示图片。
借助于这一功能,我们能很轻松地与团队成员共享图片形式的信息(比如尚在开发中的设计方案)。
◉ 其他特点
除上述这些之外,Slack 作为一款聊天系统还具备许多方便的功能和特征。
· 简洁的 UI
Slack的UI设计简洁明了,让人看一眼就能上手使用。虽然目前(2014年11月)只提供了英文UI,但不懂英语的人用起来也不会有什么障碍。
· 可读性高的 text snippet
用户可以用text snippet功能在聊天室内粘贴源码。这些源码会以语法高亮的形式显示。
· 可重复利用的消息记录
Slack会给每一条消息设置永久链接,在引用消息内容时会经常用到这些链接。如果我们想引用某条消息,只要在Slack中粘贴它的永久链接,该消息就会显示在聊天框中。这一功能让我们的消息不再转瞬即逝,而是可以随时拿来重复利用。
· 类似书签的星标功能
如果有想关注的聊天室或者怕忘记的消息,那么可以给它们标上星星。我们可以在星标一览中查看标记过星星的信息。有了这个功能,再久远的消息也能很快找到。
· 好用的搜索功能
搜索聊天记录的功能拥有跨频道、跨群搜索以及指定日期等多种选择,能很轻松地找到过去的信息或附件。
· 可添加自定义表情
Slack允许用户添加自定义的表情用于聊天。我们可以添加上限为128像素×128像素的自定义表情,还可以添加公司或产品的Logo,这给我们带来了意想不到的便利。
◉ 收费版
前面我们说过,Slack 采用了免费增值模式,所以用户可以免费使用,但它同时还提供了收费版 Slack。收费版的特征如下。
· 付费
收费版会根据活动用户数量收取费用。
· 可设置单频道来宾
收费版可创建只能访问一个频道的免费来宾账户,也就是单频道来宾。在项目需要临时与团队外人员交流时,有单频道来宾会方便许多。
· 不限制记录保存数
免费版只可以保存1万条聊天记录,但收费版没有这个限制。在交流频繁的时候,往往一天会出现几百条消息,1万条记录最多也就能撑半年。无法保存记录就意味着我们无法参考过去的消息,而收费版就不用担心这个问题了。
· 不限制 Integration
免费版只能添加5个Integration,但收费版没有限制。
◉ Slack 应用
Slack 为 OS X、iOS、Android 准备了专用的客户端。只要在各个系统的应用商城中搜索 Slack 就能找到。
网页版的 Slack 不支持智能手机,所以 iOS 和 Android 要想使用 Slack 必须安装应用。iOS 和 Android 的 Slack 应用运行起来更快,用户能轻松查看消息通知和发送消息,而且新的消息通知会发送到 OS 的通知区域内,不用担心遗漏重要的事情。
截止到现在(2014 年 11 月),Slack 还没有 Windows 专用的客户端,但 Google Chrome 的“创建应用程序快捷方式”功能可以创建 Slack 的快捷方式,我们可以把它当成专用客户端来用。
4.3.3 Slack 做不到的事
但是,Slack 只能让我们与团队内部成员交流。当我们需要与团队外(公司外)的人进行交流时,必须将对方邀请进 Slack 才行。另外,有些时候让团队外的人使用 Slack 本身就是一件难事,因此可以考虑把 Slack 和普及率较广的 Skype 等软件结合起来使用,以便与团队外的人进行交流。
Slack 还无法语音聊天。有些商讨内容打字聊天说不清楚,而语音会议的效果会好很多,这种时候就可以拿 Skype 等带有语音聊天功能的交流工具来配合使用。
4.3.4 Slack 的注册
Slack 的注册需要在 https://slack.com/ 上进行。虽然注册全程为英语,但中间要输入的东西也就是邮箱地址、用户名、团队名、专用域名、邮箱域名、密码而已,并没有什么难的。创建团队后,Slack 会自动分配一个专用域名给我们(专用域名“.slack.com”)。此后,我们只要访问这个地址,就可以进行登录聊天室等操作了。
给团队设置邮箱域名后,所有拥有该域名邮箱的人都可以创建自己团队的账户。比如要在公司里用 Slack,只要我们在这里设置了公司的邮箱域名,公司成员就都可以创建 Slack 账户了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论