程序员应该如何写周(日)报

你是否在一家需要写周报或者日报的公司?这占用了你平均每天一刻钟甚至半小时的时间吗?

恩…没错,听着确实有些痛苦。至少我是这么觉得的。事实上目前我也正处在这样的处境下,那么就让我们看看如何来有效使之变得容易一些。

以下的内容主要是针对程序员的,或者说是所有使用主流版本控制软件的工作人员。下面主要讲解我使用过的2个CVS工具的方法:SVN 和 Git

开练:

首先需要你有很好的提交习惯,使工作有序:

比如你需要先将今天需要完成的工作列个To Do list,假设如下:

  • 隐藏导航栏
  • 把某个按钮从红色变成蓝色
  • 纠正主页面的字体显示问题
  • 重构某个类
  • 加入twitter支持

一个一个任务都列清楚,并且当你在把按钮从红色变成蓝色的时候,千万不要去碰导航栏。也就是一个一个任务的完成,不要交叉或者同时。当你确认一个任务完成后,立即提交(COMMIT),并且在你的COMMIT MESSAGE里填上详尽的完成内容。这一步就是帮你自动生成周报或者日报内容的关键。

如此,你一个个任务的完成,所有COMMIT MESSAGE的累积就是你当天的日报了。

导出

下面我们看看如何从Repository中导出生成:

SVN

#!/bin/bash
# SVN Log export script for the current day
# This script is made to make your job easier and feel free to use / modify it.
# Written by @supermarin | supermar.in
# COPY THIS SCRIPT IN THE WORKING COPY ROOT DIR (e.g. ~/Workspace/myProject)

USERNAME='YOUR_USERNAME'
PASSWORD='YOUR_PASSWORD'

createLog(){
	svn log --username $USERNAME --password $PASSWORD -r {"$TODAY 00:00"}:{"$TODAY 23:59"} |grep -Ev $REMOVE_DASHS |grep -Ev $REMOVE_EMPTY_LINES |grep -Ev $REMOVE_HEADERS
}

TODAY=$(date +%Y-%m-%d)
REMOVE_DASHS=[-]\{3,\}$ 
REMOVE_EMPTY_LINES=$^
REMOVE_HEADERS=^[r][0-9]+.*$

echo "Generating report for: $TODAY"

  createLog > ~/Desktop/Report_$TODAY.txt

echo "Done!"

Git

$ git log --author=supermarin --format=%s --since=today

Git相对来说优雅一些,只需要一行即可。

大致可能的导出内容如下:

Moved the blog out from public_html
Customised disqus and removed facebook
Added -> more on the post, configured comments with disqus
Enabled Google plus one
Generated the hello world post
Trying to set it on the subdomain properly
Forgot to add Rakefile
Set the blog root folder properly

By Lu Jun

80后男,就职于软件行业。习于F*** GFW。人生48%时间陪同电子设备和互联网,美剧迷,高清视频狂热者,游戏菜鸟,长期谷粉,临时果粉,略知摄影。

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.