如何更漂亮的完成task
一般来讲,做任何task,都有一个必须的过程来总体上指导实现过程的有效进行:
1. 了解清楚要做什么。包括spec的基本把握(同样的,第一步只需要总体把握+适当细节,不是全部细节的把握)。
2. 怎么做:
1)弄清楚相关的背景知识,专业知识,以及相关的代码逻辑。这是开展工作的基础。
2)考虑solution。这会是接下来具体coding的指导思想。具体实现细节,这里在思考的时候,切勿深究。可以略过不想,最好;如果实在是想到了某个可能的难点的或block的实现细节,记下来好了。等到具体实现的时候,review下也是非常好的reference。
3)具体实现。这个过程里,99%情况下会碰到意想不到的、意料之外的情况。所以,这个过程中,一定要保持冷静。只要不是blocker issue,先记下来,把基本solution实现了。然后,在逐个的通过加入更多的代码逻辑解决之前碰到的issues。
Note:截止到这里,已经包含了一些基本测试来帮助检验solution的基本正确性,并辅助发现了一些issue。
4)solution基本实现好了。接下来,就是要考虑checkpoints和test cases来进一步较全面的验证它。完成它,意味着开发的CC。两小步:
a. 考虑一些test case使得所有新写的代码都被执行一遍(新加的逻辑都被验证一次),即考虑所有流程分支。通过这一步,让CL里的所有代码都可以跑一遍,来验证所有新加逻辑的基本正确性。
b. #a一旦pass了,基本上心里就有数了。那么,这一步呢,就完全从用户使用角度来考虑checkpoints和testcase。原则是:不求面面俱到(不然要QA干吗呢?),但求尽力就好(能想到的就都测到)。
这样一个流程走下来,CC的质量一般就非常不错了。