做项目需要一方面需要三方面的基本能力:
1.对该领域问题的基本理解
例如做SIP开发最起码要由对SIP协议的基本理解能力
2.规划代码
具体来说就是知道自己要写哪些类,每个类的责任是什么,做好基本的设计,然后预计自己的WORK DATE
3.编写和调试代码
编写bug free的代码是极其困难的事情。顺理成章的编写出来的代码却往往潜藏错误。保持高度的专注力,时刻审视自己的代码。
调试代码的时候要遇到一个BUG就解决一个BUG,不能跳过某些自己宣传的无关紧要的问题。并且,重要的是,调试代码就意味着可能需要修改,甚至是推翻原有的代码,不要害怕这一点,因为代码只有在调试通过后才能说编写完成
PS:
一开始学程序设计的时候执着于算法,其实在项目里,几乎不需要关注这一点。“算法+数据结构 = 程序”只是普遍真理吧。现在的项目的算法流程都是明显的,更多的是结构上的问题。就好像生产没有什么高科技部件的电子产品,只要设计出合适的零部件然后把它们拼凑起来能够工作就OK了。
现在看一下设计模式的入门级读物,熟悉几个常用的设计模式和它们的应用场景,看《Head first Design Pattern》。
要更有效率的完成项目,还需要提供编码的素质,所以看《Effective C++》系列,它的形式适合C++已经入门的人,告诉他们一些编程的TIPS,可以让它们在编码的时候,注意审视代码。