我每天都有一台笔记本电脑和一堆 5 分钟的片段。我曾经认为这是做“任何事情”的时间太短了。虽然通过一些练习和一些小的行为改变(比如拔掉插头),我意识到我可以在每个部分完成一些事情。因此,现在我正在向所有快速绘图的程序员寻求更多技巧,让我在最短的时间内完成一些事情。
- 你做了什么?
- 你工作多长时间?
我每天都有一台笔记本电脑和一堆 5 分钟的片段。我曾经认为这是做“任何事情”的时间太短了。虽然通过一些练习和一些小的行为改变(比如拔掉插头),我意识到我可以在每个部分完成一些事情。因此,现在我正在向所有快速绘图的程序员寻求更多技巧,让我在最短的时间内完成一些事情。
这是一个想法:当你有更多的时间时,为你计划实现的功能编写一些单元测试。然后,当你有 5 分钟的增量时,选择一个测试并编写代码来满足它。这样,您就不会花费任何 5 分钟来决定要做什么,您已经这样做了,并以单元测试的形式记录了它。
嘿,您可以免费获得 TDD 和测试覆盖率。奖金。
采用测试驱动开发。
任务切换的一大成本是弄清楚你最后在哪里。
如果您总是在开始之前编写测试,那么从中断的地方重新开始是很容易的。运行测试,无论失败,这就是你接下来要做的。
信不信由你,有一个叫做五分钟视频的网站,他们有一个软件部分。
通读 SO 上的随机帖子并学习新知识 :-)
无聊的背景故事:当我不得不照顾我十岁的妹妹一天时,我处于类似的情况。当我们在等待朋友过来时,我真的很想在个人项目中完成一些功能。
我发现在我写任何东西之前播放大约 20 秒的原声音乐并让我的头脑清醒真的很有用,同时花前 5 分钟列出我想要完成的事情的陈词滥调。
学习所有键盘快捷键。
我有时也会在短时间内编程,比如在等火车时。我的方法是抛出一个异常,上面写着“待办事项:下一步是在此处返回查询”。当我打开我的笔记本电脑时,我运行我正在处理的模块,它爆炸了,告诉我该怎么做,堆栈跟踪告诉我从代码的哪里开始。
另外,不要费心关闭你的IDE......
欧拉计划!
欧拉计划是一系列具有挑战性的数学/计算机编程问题,需要解决的不仅仅是数学见解。虽然数学可以帮助你找到优雅而有效的方法,但大多数问题都需要使用计算机和编程技能。
您还可以阅读The Daily WTF,值得花 5 分钟。
大量使用 TODO。当您开始创建一个新类(我是一名 java 程序员)时,编写所有方法名称和 TODO 而不是代码,这通常需要(臭名昭著的)五分钟。然后,当你有下五个时,从随机选择一个 TODO 开始,然后编写代码。我更喜欢以随机顺序执行它们,但您可能会发现首先在一个方法中编写所有 TODO 效果更好,试试吧:)
由于我不是全职程序员,而是学生和业余爱好者,所以我的大部分编程都是在家里、图书馆或咖啡馆完成的。我会完成一两个 TODO,上网浏览一下,看看路过的人,点一杯新咖啡或从厨房买些零食。
这可能不适用于生产环境,但对于个人项目来说,它是王道!
我认为最大的障碍是知道什么任务可以在 5 分钟内完成。所以我要做的第一件事就是把一个更大的工作分解成一堆小任务,每个任务都需要 5 分钟。这样,当您有 5 分钟的空闲时间时,您不必切换到大问题的上下文,然后尝试找出需要做的事情,然后尝试完成某些事情。相反,您只需查看您的任务/待办事项列表并抓住最重要的项目。
编程涉及两个过程:思考您的程序,以及将代码输入计算机。尝试将所有内容定义为不超过十分钟的小项目。如果您预先计算好要输入的内容并学习如何正确输入,您可以在 5-10 分钟内完成一些好的工作。
我在笔记本电脑上使用待机而不是休眠,因为它可以让我更快地进入 IDE。我原本预计会因此出现电池问题,但它似乎工作得很好。
阅读几页Code Complete 2