What is the single most effective thing you did to improve your programming skills
2011-04-20 21:20
615 查看
StackExchange.com上有两个贴子(贴子一,贴子二),贴子名叫“What is the single most effective thing you did to improve your programming skills?”–对你的编程技术提高最有效的一件事是什么?回复的人中给了很多很不错的建议,我把他们总结了一下,十条,相信一定会对你有用。(注意:顺序是我自己按我的个人经验排的)
和比自己聪明的能力比自己强的人工作。学习他们的代码,他们的做事方法,看一看那些人是怎么处理错误的。
总是倾听别人怎么说,无论那个的资历和职位是什么样的。
实践,实践,实践,总是不满意于一开始出来的事。
多问问自己,现在在写什么代码?为什么要这样写成这样?还有没有更好的方法?
学习多样的技术,多多比较它们,并一定要了解各种技术的优缺点。
总是问别人好的问题。
多回头看看走过的路,做过的事,写过的程序,感觉一下它们有多烂。
多读读那些大师写的书。
不要总坐在电脑前编程序,多做做运动,多到户外走走,和非技术人多接触,向他们学习。
除了这些,下面是我个人想给你的建议——
可能只能算精神,不能算方法。我以前也写过一篇《五个方法成为更好的程序员》,《十条不错的编程观点》,还有《优秀程序员的十个习惯》这几篇文章也能给你一些启发。
热情。对编程充满热情。这种热情会导致强烈地专研精神,和努力的精神。专研精神相当重要,它是畏难情绪的天敌。
知道。学习技术要“知其道,明其理”,而不仅仅只是了解知识。举例,为什么C++有“初始化列表”而Java却没有?为什么Java的没有多重继承?为会有了TCP还要UDP?对于一个事物,什么是好的,什么是不好的。不但要了解其表面,还要了解其思想。只有了解原始的初衷和目的,你才能真正“知道”。
犯错。不犯错误永远没有经验,从自己的错误和别人的错误中学习,只有自己犯了错,才会真正明白。犯错不可怕,可怕的是不会总结只有真正的摸爬滚打过的人才是强人。技能和经验总是用错误去换来的。
回顾。要多去回顾过去,看看历史上发生过的事。这样你才能明白事物的发展规律,从面才能了解未来的路。举例:单机 -> Client/Server -> 中间应用层 -> 多层结构 -> 分布式结构。 C -> C++ -> Java,等等,等等。未来其实就在回顾过去之中。
质疑。质疑精神很重要。质疑通常会导致不同意见甚至反对意见。也许你会质疑错,也许你会被质疑,但是你的认知也会因为不同的观点而变得完整。有所同有所不同(“同”为同意及相同),观点因为不同才能迸发出火花,事物也此而发展,世界因为不同而精彩。
转:
和比自己聪明的能力比自己强的人工作。学习他们的代码,他们的做事方法,看一看那些人是怎么处理错误的。
总是倾听别人怎么说,无论那个的资历和职位是什么样的。
实践,实践,实践,总是不满意于一开始出来的事。
多问问自己,现在在写什么代码?为什么要这样写成这样?还有没有更好的方法?
学习多样的技术,多多比较它们,并一定要了解各种技术的优缺点。
总是问别人好的问题。
多回头看看走过的路,做过的事,写过的程序,感觉一下它们有多烂。
多读读那些大师写的书。
不要总坐在电脑前编程序,多做做运动,多到户外走走,和非技术人多接触,向他们学习。
除了这些,下面是我个人想给你的建议——
可能只能算精神,不能算方法。我以前也写过一篇《五个方法成为更好的程序员》,《十条不错的编程观点》,还有《优秀程序员的十个习惯》这几篇文章也能给你一些启发。
热情。对编程充满热情。这种热情会导致强烈地专研精神,和努力的精神。专研精神相当重要,它是畏难情绪的天敌。
知道。学习技术要“知其道,明其理”,而不仅仅只是了解知识。举例,为什么C++有“初始化列表”而Java却没有?为什么Java的没有多重继承?为会有了TCP还要UDP?对于一个事物,什么是好的,什么是不好的。不但要了解其表面,还要了解其思想。只有了解原始的初衷和目的,你才能真正“知道”。
犯错。不犯错误永远没有经验,从自己的错误和别人的错误中学习,只有自己犯了错,才会真正明白。犯错不可怕,可怕的是不会总结只有真正的摸爬滚打过的人才是强人。技能和经验总是用错误去换来的。
回顾。要多去回顾过去,看看历史上发生过的事。这样你才能明白事物的发展规律,从面才能了解未来的路。举例:单机 -> Client/Server -> 中间应用层 -> 多层结构 -> 分布式结构。 C -> C++ -> Java,等等,等等。未来其实就在回顾过去之中。
质疑。质疑精神很重要。质疑通常会导致不同意见甚至反对意见。也许你会质疑错,也许你会被质疑,但是你的认知也会因为不同的观点而变得完整。有所同有所不同(“同”为同意及相同),观点因为不同才能迸发出火花,事物也此而发展,世界因为不同而精彩。
转:
相关文章推荐
- So, IT workers, what is the most disgusting work area you had to work on.
- What is the healthiest thing you've done for your marriage?
- What is the most important thing in your life?
- What is the single most influential book every programmer should read?
- What is the single most influential book every programmer should read?
- 44.Your database is functional with a peak load for the last one hour. You want to preserve the perf
- 12 Effective Ways To Improve Your Programming
- 打开OpenProj 出现Your Java Vendor is "Oracle Corporation". To run OpenProj, you need the Sun Java...
- It is said that wars in the 21st century will be fought over water. Do you agree? What do you think can be done now to alleviate
- 托福写作5-what is the most important characteristic that a person can have to be successful in life
- You're given a string of lower-case Latin letters. Your task is to find the length of its longest su
- I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum o
- 12 Effective Ways To Improve Your Programming
- What is the Best Programming Language to Learn in 2014?
- Trust is the most important thing to the team!
- 72.You want to enable archiving on your database. Presently, the database is running in NOARCHIVELOG
- What is the most important aspect of programming?
- Pair programming is the most difficult and important thing in all agile actions
- You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgrou
- Too often.things you want have the most is the one thing you can't have