梅丽娜 发表于 2017-12-11 15:32:02

写「工作日记」,有效提升coding 水准



关于「写程式」这份工作,寻求进步的方法大概有31415926 种,不过每个人都必须要找到属于自己的「精神时光屋」,才能有显着的进步。

过去我们曾介绍过一些方法,包含「从少写一点程式码开始」、「大型科技公司的code review」,以及「Stack Overflow上最常被提到的书籍」等都非常受欢迎,在这边提出给大家做参考。

而本次要介绍给各位工程师的进步方法,是写日记,也就是「logbook」。

撰写logbook,用自然语言增进你的程式语言

logbook 有一点像是独立的注解,是一个轻便的文件让你快速制作纪录,大部分的编辑器内应该都有相对应的logbook。

当遇到「需要解决问题」时就应该纪录至logbook,包含工作项目以及遭遇bug 时,至于logbook 内要写什么呢?


应该包含:

1. 写下该解决的问题

2. 是先写下解决方法,并描述你解决的方式

3. 记录具体执行上述方法的过程

4. 记录发生什么事情,以及如何优化


听起来很麻烦,很多时候bug 都解不完了,竟然还要做纪录?没错,透过在着手问题前先记录,能够逼迫自己先试想一次解决问题的流程。

最麻烦的地方可能在第4 点「如何优化」的部分,可能需要花一点时间与人讨论,或者是找寻相关的资料。

在初期可能需要花一点时间,不过长久累积下来将为你建立一座不小的知识宝库,不只能少走一点冤枉路,往后遇到相似的问题也能够轻松地解决。除此之外,撰写logbook 还有一些好处:


1. 逼迫自己遇到问题时学会「拆解问题」,将问题打碎成小问题并一一击破。

2. 透过纪录能够在分心或是上班时,参考logbook 快速回复到工作状态。

3. 精进学习速度。透过观察自己解决问题的方式,清楚观察哪些方法可行、哪些不可行。
其实本方法不只适用于coding,似乎各种学习都能用上,总结起来就是:规划、纪录、优化,三大步骤 。

参考:logbook 应该要每天开一页新的,并以日期命名

而数位银行Monzo的后端工程师James Routley便是logbook的爱好者,他每天都会建立一页新的logbook,并直接在Vim中建立了功能函数,能够快速为每一天的工作打开一个新的logbook,并以当天的日期命名。


function lb() {

vim ~/logbook/$(date '+%Y-%m-%d').md

}
——

页: [1]
查看完整版本: 写「工作日记」,有效提升coding 水准