love_mely2 love_mely2
Hello
关注数: 5 粉丝数: 37 发帖数: 549 关注贴吧数: 16
如何提高编程能力 目标读者:本科CS,觉得自己编程能力弱又想去努力提高,但是不知道努力方向的同学,跟大几没关系。 写在前面:写此文,本人不是编程大牛,很多编程大牛都很忙,或者没啥心思写这些初级文章。但起码本人算是过来人,热爱写代码,现读MS,一年后找工作目标也是程序员,所以比目标读者多点经验,可以奉献。最近寒假,不忙,而且有几个朋友都问我这个问题,就顺便总结一下,希望对目标读者有用。虽然以前基本没逛过吧,从华科毕业,就把文章放到这好了,希望学弟学妹学习有捷径,欢迎高手指正~~欢迎转载 提高编程能力,主要分成7步: 1.巩固C 2.提高面向对象编程能力 3.数据结构和算法理论 4.设计模式 5.ACM 6.多学点其他的语言或者技术 7.做点project 其他:了解编程故事 每一步我会大约估计一下花费的时间,用天数表示。 第i步需要花费n天的意思是:如果你做好了0...i-1步,需要花费n整天时间来完成第i步,注意,是整天喔。但是你不需要把这步的任务全部完美完成,所以实际时间更短。 而且这样分步的好处是读者可以根据自己的能力看不同步骤~~正文开始了哈 1.巩固C(15-30天) 首先呢。。。为什么第一步是巩固C?大一小朋友总是喜欢弄flash,ps,当然这些是有用的。。。有大一小朋友吗?好的把手放下,但咱们在这是针对程序员聊,所以,从C开始咯。 第一步很简单,巩固C的目标主要在于加强对指针的运用。当然,首先对于循环、条件选择、函数等基本东西要运用自如。指针的概念不难懂,学过的人都知道,但是写起代码来的时候,内存管理却不简单。推荐几本书: C入门经典(入门的哈,谭浩强的书已经被无数人吐槽了,所以入门就看这本) C与指针(很好看,多写题目练习) C好书很多,就推荐这两本,主要是自己写代码,看书并不太重要,把一本书上的代码都写会就很了不起了。 如果这两本都看过了,说明可以轻松跳过第一步。 如果没看过,但是又想自己选,怎么确定一本书适合自己呢?打开目录,看看内容是不是自己想要的,是的话,随便翻到里面看两页感觉一下就行了。 选书TIP:尽量选老外的。 并不是说中国人的书一定不如老外的好,这是个概率论的问题,就好比一个老师要给一群人随机发奖,一半是武大的,一半是华科的,老师谁都不认识,但老师想多给华科的人发,怎么办呢?老师只需多给男的发~~ 然后说一下看书方法: 精读:首先得看明白,然后写明白。如果自己写费力,就参考别人怎么写。如果是新手或者没有专门看过编程规范的老手,都必须看一下编程规范,排版,命名啥的。 泛读:假设你决定精读C与指针,同时再泛读几本就更好不过了。泛读时候要快,不求甚解,看半天不懂的东西就过过过,几天翻完一本,知道大概内容。没准哪天你灵光一现,这个问题看到过!再回去查阅。别担心这样学不牢,学的牢靠是精读的任务,泛读的任务是见多识广。一开始的新手并没有泛读的能力,读快了就什么都理解不了,慢慢就好啦。 2.学习面向对象编程(30天--60天) 这步还是会顺便说点旁的。 选一门面向对象语言深入学习 我走的C++路线,所以只能推荐C++的书,JAVA的抱歉了,C#不建议现在学 C++程序语言设计,C++之父写的那本(迅速浏览,碰到感兴趣或重要的地方慢慢看) C++编程思想 上卷(很多内部原理讲解,尽力而为) C++primer(一些边角内容跳过就好) effective C++(随便翻翻) more effective C++(随便翻翻) C++标准库(自选一本书,要熟悉常用的,非常熟悉) 这个书单要按照顺序哈。 前两本看完后,你的状态是: 对如下词汇有深刻领悟:封装,继承,组合,多态,抽象,重载 别人让你干这些事,秒杀。比如我说重载个!=,一分钟写出代码,你就成功了,再比如我说小猫叫喵喵,小狗叫旺旺,小猫会眯眼小狗不会,你用多态几分钟实现了,你就成功了,最后再比如,我问你什么时候用引用传递传递参数,什么时候用虚构析函数?你要立马回答正确。
1 下一页