之前和利斯说起,`git log`是个神奇的玩意儿。
因为每次commit都必须要写commit message,所以在做完作业之后敲下`git log`,基本就能看到从开始到提交的整个心路历程。
简单概括一下,就是四个字:
逐渐自闭。
我俩分析了一下,发现所有作业左右逃不开这么一个套路:
最开始的commit message是最守规矩的。最初一个“first commit - starter code”,之后慢慢开始正儿八经敲代码,最多的就是一些“写完 x function,开始 y function”之类的。
之后代码写得多了,bug也多了,时间都花在debug上了,message也就越来越随便。有时候就一个“fix bug”敷衍了事,利斯说她最短的单一个“fix”。最心酸的莫过于“完成 z function with seg fault”之类的信息,每次回去看到这样的一行都忍不住做出那个掩面笑哭的表情。
第三阶段似乎是所有人都会经历的一段,名为“我觉得我写完了”。此阶段的commit message那是肉眼可见地兴奋了起来,然后看着这个快乐值慢慢降低。从最开始的“final ver.”,到下一秒的“final ver. #2”,紧接着一个“final final”,没过多久又一个“actual final”。终于,在一段时间的沉默过后,迎来一个新的commit,附言“nevermind got errors”。
俗话说得好,写程序是10%的敲代码+90%的debug。只要交过一次“最终稿”,剩下的时间全花在了debug里。经常在几个小时的迷茫后发现,啊,原来是漏了个括号,中文输入法的封号,拼错了变量名,小于等于没写等于,指针指错了地方,应该用column的值动的却是row,等等...commit message于是也变得暴躁+自闭起来。
最终在deadline的前五分钟内,最后一次commit+push。通常要么已经懵掉了,配字“tried my best”;要么是成功完成,附言“IT'S DONE”,对,全大写的那种。
网友评论