ref:
1. 提高编程能力的7条建议 www.gbtags.com/gb/share/3103.htm
2.Advice on improving your programming skills www.pixelstech.net/article/1392994721-Advice-on-improving-your-programming-skills
编程是非常酷的一件事情,但是在酷炫的背后它对很多人来说还是挺难的。很多人在学习编程之初就被困难击败了。
当你不熟悉编程的时候,你可能会觉得无从下手,并且不知道如何运用学到的知识。只要你通过了这一困难的学习阶段,你就会发现一个全新的世界。
以下是一些能够帮助你快速提高编程技巧的建议。
1. 多写代码
学习某件事情最好的办法就是练习。你应该花大量时间去构建和编写代码,除非你认为练习对你的帮助不大。你可以从写一些基础知识相关的简单程序开始。
2. 参与不同类型的项目
当你对某种开发语言非常熟悉之后,你应该开始做一些正事了。这样做能帮你对那种开发语言的性能有个全面的理解,同时也能推动你去学习与这门语言相关的一些东西。过了段时间你会发现你经常用类似的方法去解决类似的问题,将很难从固有思维中跳出来去学习新的技能。
3. 精通一到两门你使用的语言
读一两本关于这门语言的好书。重点掌握这门语言的先进开发理论知识,并且对它的核心和语言库足够了解。确保你所使用的语言中至少有一种脚本语言。
4. 开始阅读
尽可能的多读书。书能够帮你系统的学习一门语言,并且能够带你了解这门语言的各个方面。对于初学者来说更应该多读书。
5. 加入讨论
当和别人讨论的时候,你会产生一些以前从未出现过的主意或者想法。在这个过程中,你能够从别人那里学到很多,同时这也是一次机会,通过分享你关于编程的看法检查你到底对于这门语言掌握了多少。
6. 通读公司内部的技术和培训资料
比如说,谷歌有很多的代码实验室,有着几十年经验的大牛们用各种语言写出来的最好的实践在实验室里用来做核心培训和高质量的指导。如果你公司没有类似的资源,谷歌的开源了一些他们的指南:https://code.google.com/p/google-styleguide/
7. 写博客
当你学习编程时,你会遇到各种问题,并且想尽办法去解决它们。你可以在博客中记录下你解决问题的过程和你从中学到了什么。其它人看到你的文章后,也能从中获益。同时,你还能和志同道合的人交上朋友。
至于花在学习编程上的时间,刚开始你应该挤出20%的个人时间致力于提高个人开发能力。如果可能的话,最好是每天一两个小时而不是一个礼拜一天,因为这 样你能通过日常习惯去提高你的能力。最初的时候效果可能不明显(当然如果你因为上网或者其他事情分心的话是没效果的),但是这样做的目的是让你在长期的编 程学习中有更高的效率。
Programming is cool. But behind the scenes it's also difficult for many people. Many people are defeated at the early stage of learning programming. When you are not so familiar with programming, you may find you don't know where to start and what to start with first and where to apply the knowledge. Once you go though the tough period of the learning phase, you will find a whole new world. Below are some advice which can help you improve your programming skills quickly.
Write more code.
The best thing to learn something quickly is practicing. You should spend more of your time on building and writing code since you won't get better unless you practice the craft. You may start by writing some simple programs with the basic knowledge you have about the language.
Work on different types of projects.
After you gain enough familiarity of one language, you should start to work on something real. This will help you have a comprehensive understanding of the capability of the language This will in turn push you to learn other stuff related to the language. Later ff you find yourself always doing similar tasks using similar methods, it's going to be hard to get out of your comfort zone and to pick up new skills.
Master one or two programming languages that you use.
Read a good book or two on the languages. Focus on developing a solid grasp of the advanced concepts in that language, and gain familiarity with core, language libraries. Make sure that at least one of your languages is a scripting language.
Start reading.
Read as many books as possible. Books usually can give you a systematic graph about a language and they will lead you through all the aspects of a language This is especially useful for beginners Here's a start: What is the single most influential book every programmer should read?
Join discussions.
When discussing with other people, you will find new ideas or thoughts you may not notice before. During this phase, you can also learn from other people and it's also a good chance for you to test how well you grasp a language by sharing your opinions about programming.
Read through any technical, educational material available internally. Google, for instance, has a wide array of codelabs that teach core abstractions and high-quality guides of best practices that veteran engineers have written for various languages based on decades of experience. If your company doesn't have similar resources, Google's open sourced some of their guides: https://code.google.com/p/google....
Write blogs.
While learning programming, you may encounter different issues and you will try to defeat the problems with all means. It's a good chance for you to write down the process you resolve the problems and your gains from the process. Others can benefit from your experience as well. You can also make friends with people who have similar interests with you.
As for the time spent on learning programming. You should start by carving out 20% of your time to devote to your own skills development. If possible, it'll be better if that 20% comes from one or two hours a day rather than a day a week because you can then make a daily habit out of improving your skills. Your productivity may decrease initially (or it might not change much if you're replacing web surfing or other distractions), but the goal is to make investments that will make you more effective in the long run.