<audio id="audio" title="轻松话题（四） | 真正高效的生活，是张弛有度" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/c8/19/c8720ea02700a606eec6585f74cd4c19.mp3"></audio>

你好，我是Chrono。

今天的轻松话题，我再说点C++之外的事情，主题是“时间管理”。

古语说得好，“一寸光阴一寸金，寸金难买寸光阴”。时间无法再生、重用，无疑是人生最宝贵的资产，却也往往是最不被珍惜、最容易被浪费的资产。

仔细想想，一天只有24个小时，扣掉吃饭、睡觉的时间，可用的也就14~16个小时。如何才能合理、高效地利用这些时间，是我们每个人都应该认真思考的问题。

所以今天呢，我就拿我的一个工作日来举例子，聊聊我是怎么管理、分配时间的，给你一个参考。为了方便，我把工作时间和非工作时间分开来进行。

## 工作时间

我个人有早起的习惯。毕竟，“一天之计在于晨”。所以，我一般会在上午9点之前就到公司，比公司里的大多数人都要早。

到了公司，我会先打开邮件和即时通讯工具，把一些和工作不相关的琐事快速处理掉。完成这些之后，有了一个“干净”的起点，就可以正式开始工作了。

这里，就不得不提我多年来的一个工作习惯了，那就是写工作日志。其实，这就像是记日记一样，时间长了，会积累下很多的工作经验和知识，也算是“人生财富”吧。我会用到一个非常好的工具，就是“**云笔记**”，比如Evernote或者GitHub私人仓库，都可以。

工作日志的格式和普通日记也差不多。首先，我会写下当天的日期，然后花几分钟整理一下工作思路，按优先级列一下今天要做的事情。

关于优先级，我有几个衡量标准：

- 上级领导安排的、工期紧的优先；
- 突发事件、hotfix优先；
- 与外部门沟通、要出文档/说明的优先；
- 容易做的、好完成的优先；
- 与别人合作的优先；
- 自己能独立完成的放在最后。

简单来说，就是先看紧急程度，然后先外后内，先人后己，先小后大，先易后难，有点像是早期大型计算机的批处理任务排队。

有了优先级，我还要再为每件事估算一个大概的时间。该怎么估算呢？

如果事情比较小、比较简单，我就会以半个或者一个小时为单位进行安排；如果事情比较大、难度比较高，我就会把时间片划得略大一些，比如两个小时。

然后，我会为每个时间片定一两个粗略的目标，细化一下具体的任务，比如完成一个功能点、修复Bug、画出UML图、写出设计文档、开会定技术方向，等等。

写完这些之后，基本上就把当天的工作日程安排好了。不过，我通常也留有一点余地，也就是buffer，不会把8个小时全排满。因为计划总是赶不上变化，通常来说，制定出**6个小时左右**的时间表就差不多了。

有了这个schedule，当天的工作也就心里有数了，不会慌慌张张，可以有条不紊地按照计划去执行。由于在定计划的时候，预留了一两个小时的缓冲时间，所以，即使偶尔有突发事件或者难点，也不会影响计划，这一天的工作就可以比较轻松、顺利地完成，很有成就感。

当然了，工作不可能完全按计划来，到快下班的时候，可能还是会有未完成的工作。

所以呢，临下班前，我会再花几分钟的时间，在云笔记的工作日志里做个小结，列一下工作的完成情况、心得、难点，同时把可用的参考资料也记下来。

我是不提倡过度加班的，因为脑力劳动很辛苦，加班的效率比较低。如果事情没做完，又不是特别急，那就提前做好明天的规划，想一下明天大概要怎么做、要找哪些人协调。安排妥当之后，就可以回家睡个好觉，休息好了第二天再继续做，效果可能比加班更好。

不过，如果事情比较急的话，加班就不可避免了。这个时候千万不能慌，要先确定加班的目标，再预估一下所需的时间和资源，制订临时的小计划以及大概的执行步骤。做完这些准备工作，就可以去吃个晚饭，整理一下心情，准备接下来的“苦战”了。

一天不停地工作对脑力、体力都消耗比较大，在工作的间隙，适当的休息有助于提高效率。下面我再给你分享几个我工作时的小技巧吧。

**1.不要久坐**

我的智能手表（Apple Watch）上有站立提醒功能，如果久坐时间超过一个小时，它就会提醒我起来活动一下（在Windows、macOS上也有类似的提醒应用，你可以自己找找）。

我觉得这个功能对于我们程序员来说非常有用。它有点像是学校里的下课闹铃，给你一个强制的休息机会。你可以站起来喝点水，伸个懒腰，舒展一下筋骨，或者去洗手间打把水洗洗脸，让大脑有一个短暂的“空档”，也许就能获得意外的编程灵感。

**2.午休时出去走走**

中午的吃饭时间也是一个很好的休息机会。吃完午饭后，我一般还会走出公司，在周围随便转转，散散步，看看蓝天白云、绿树红花，呼吸一下新鲜空气，脑子里再顺便想想工作上的事情。这个时段是比较自由、放松的，用来调整思绪、考虑问题都非常合适。

**3.用好茶歇时间**

很多公司都会有下午茶歇时间，提供一些水果、点心什么的。这项福利虽然很小，但也很有用，一边吃着薯片、蛋糕，一边敲键盘码字，还是很惬意的。这个时候，我的生产效率也是最高的。

**4.深呼吸**

最后要说的这个小技巧是最简单，但是也是最容易被忽略的。

在工作非常紧张的情况下，比如编码开发、debug到了最关键的阶段，可能稍微一活动就会扰乱思路，实在是不愿意动，但身体又确实会感觉很累。

这个时候呢，我一般就会坐在椅子上，双手用力揉揉脸，再伸伸胳膊，腿也配合着用力舒展几下，然后闭上眼睛，做几个深呼吸。

这个动作大概只要一分钟就足够了，但是缓解疲劳、放松大脑的效果非常不错，能够为我再争取出十来分钟的奋斗时间。

说到这里啊，你可能看出来了，其实，我的这个工作方式就是经典的“**番茄工作法**”，只不过没有那么严格，我根据自己的情况做了点改造，更随意一些，执行起来很容易。

## 非工作时间

说完了上班的时间安排，再来说说8小时之外吧。

我住得离公司比较远，通勤时间比较长，一般都要一个多小时。所以，为了不浪费时间，我会在手机上看看资料、业界资讯，当然，最常用的就是极客时间这样的学习App了。如果看到了有用的知识点，我就会记在云笔记里。

不过，我很少在交通工具上使用耳机，因为周围的环境太嘈杂了，耳机声音小的话，会听不清楚，声音大，又对听力有伤害，所以，我大多以阅读文字为主。还有一个，因为通常一整个白天都在用电脑，看屏幕，眼睛还是比较累的，所以，手机我也不会长看。特别是在换乘走路的时候，我建议你绝对不要看手机。

一般我下班后到家的时候就8点左右了，比较晚。第一件事当然是吃饭，大概会花十来分钟。我的晚饭比较简单，也不会吃太多。

然后，我会休息一下，逗逗孩子，跟父母唠唠家常，读点小说，玩会儿PS4，放松一下紧张的工作情绪。我建议你**一定要给自己和家人留出足够的时间和空间，不要让工作占满了自己的全部时间，毕竟，我们工作的目的是为了更好地生活**。

通常，我会休息到晚上9、10点钟，然后学习半个小时左右再睡觉。

这一小段时间的学习纯粹是发散式的，没有什么功利的目的，比如上GitHub、Stack Overflow、InfoQ、Nginx等网站，看看有什么新技术、新动向，如果有感兴趣的开源项目，就clone下来慢慢看。

不过，在学习得非常投入的时候，我也会相应地延长时间，但最晚一般不超过11点半。毕竟，第二天还是要上班的，学得太晚就会睡眠不足，影响第二天的工作质量。

顺便我再说说对睡眠和休息的看法吧。

可能很多人都有临睡前看会儿手机的习惯，这个时候，躺在床上，最安静、最放松，完全是属于自己的时间。

不过，从健康的角度来说，我不是太推荐这样做。因为在黑暗的环境下，手机屏幕的强光对眼睛和大脑的刺激程度都比较高，看得时间长了，就会影响睡眠。最好是控制一下自己，尽量在熄灯前把手机上要看的看完，然后老老实实地睡觉。

关于入睡，我也给你分享一个我自己的小经验。如果你失眠的话，可以尝试一下，应该会对你有所帮助。

方法很简单，就是尽量放松。先放松身体，再放松大脑，不要去想工作上的事情（否则可能会越想越投入、兴奋），而是慢慢地想吃饭、休息这样生活上的事，再把注意力轻轻地集中在呼吸上，让呼吸保持均匀，最后逐渐放空思绪，大概就可以进入“冥想”的状态了。

## 小结

好了，我一天的时间安排大概就是这样了，感觉还算是“有张有弛”吧。

我再简单总结一下我的几条小建议。

1. 有明确的工作计划（日度/月度），就可以规划好时间，但要留出一定的缓冲。
1. 在规划任务时间时，可以使用“番茄工作法”，但时间片不宜切得太细，否则执行的时候容易出现偏差。
1. 工作中要有适当的休息间隔，调整工作节奏，缓解工作压力。
1. 不要浪费通勤时间，多利用碎片时间学习和充电。
1. 要平衡好工作和生活，要有休息有娱乐，不要变成只会加班的“机器人”。

那么，我的这些经验是否对你有所启发呢？你有没有什么好的时间管理小窍门呢？欢迎一起来分享，把握好我们自己的时间。
