本文转自:
http://it.114study.com/program/article326526.html
不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。
2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。
3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99% sweat and 1% coffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
这些是我这几年程序员生涯的一点体会,希望能够给大家有所帮助。
分享到:
相关推荐
本文是作者红桥(雪燃)的程序人生经验总结,讲述了作者从一个业余的程序员到实现程序员梦想的经历,分享了作者的十大“精华”经验,旨在激励和鼓励程序员朋友们继续努力和坚持自己的梦想,不要放弃和轻易跳槽,多...
文章标题“程序员深思人生”以及描述中的“你预见过自己5年的职位吗?”这一经典面试问题,引出了程序员对自身职业生涯的思考与规划。 #### 1. 职业生涯的不同阶段 - **不朽的程序员**:这是一种理想状态,指的是...
它以生动的故事和细腻的笔触,揭示了程序员这一特殊职业群体的生活状态,同时也为我们提供了思考自己程序人生的独特视角。 在书中的世界里,“疯狂”并非贬义,而是对程序员们投入工作、热爱编程、追求技术创新的一...
这个压缩包为想要成为初级程序员的考生提供了一条清晰的学习路径,通过系统学习电子书内容,结合真题的实战演练,考生可以有效提高自己的理论知识和实际操作技能,增加通过考试的可能性,从而开启他们的“程序人生”...
标签“程序人生”进一步扩展了主题,它不仅关乎技术技能的提升,更可能涉及程序员的工作生活、职业发展以及如何在编程世界中更好地适应和成长。这可能意味着内容不仅限于词汇和语法学习,还可能涵盖行业动态、职业...
“学思结合使自己觉得已经达到了一定的水平”,这段话形象地描述了这个阶段程序员的心理状态——既感到自信,又意识到自己还有很多东西需要学习。 三、技术深耕:在这一阶段,程序员不仅熟练掌握了多种编程语言和...
编程不仅能够创造出各种应用程序和系统,还能让程序员在解决问题的过程中体验到创造的乐趣。 2. **好奇心驱使**:对计算机世界的好奇心也是驱动人们成为程序员的重要因素之一。程序员们喜欢探索未知,通过技术手段...
作为一名JAVA程序员,编程学习之路是漫长且充满挑战的。在这个过程中,从基础知识...通过不断学习和实践,我们可以不断提升自己的技术水平,为在大数据、算法数据结构、人工智能和数据分析等领域的工作打下坚实的基础。
- 持续学习新技术与框架,不断提升自身技能水平。 #### 三、职业生涯规划策略 - **3.1 设立长期目标**: - 关注行业发展趋势,为自己设定清晰的职业路径; - 将成为 CTO 视为一个长远的目标。 - **3.2 持续...
Java程序员需要保持学习的习惯,紧跟技术潮流,不断提升自己的技能水平。 ### 结语 作为Java程序员,在日常工作中不仅要掌握扎实的技术基础,还需要具备良好的团队协作能力和解决问题的能力。面对不断变化的技术...
可以通过阅读官方文档、观看视频教程、参与在线课程等多种方式来提升自己的技术水平。同时,也可以尝试参与开源项目,这样不仅能锻炼自己的实践能力,还能结识更多志同道合的朋友。 #### 13. 注重基础知识的学习 ...
随着经验和技术水平的不断提升,程序员可以通过多种途径实现职业上的晋升。 - **技术路线**:从初级程序员到中级程序员,再到高级程序员、技术专家乃至首席技术官(CTO),通过不断积累项目经验和提升技术能力来...
《左手程序右手诗》是著名IT专家侯捷先生的一部作品,上下两册全面展现了他丰富的程序设计经验和深厚的人生感悟。...阅读这本书,读者不仅能提升自己的技术水平,还能从中汲取人生智慧,找到属于自己的编程之道。
Bill Gates,一个真正、现实的程序员,对于 31 岁就成为世界首富的比尔-盖茨,编程水平究竟如何?网上众说纷纭。但自从他曾在 1978 年写的 Microsoft BASIC for 6502 源代码被公开后,很多程序员都开始膜拜起这位...
学习和掌握编程思维,能够培养解决问题的能力,提高逻辑分析水平,是现代人必备的技能之一。 "右手诗"则对应着感性、情感和艺术表现,它体现了人类文化的精神内核。诗歌以其独特的形式和内涵,传递着情感、思想和...
在程序员的世界里,面试往往是一场技术和智慧的较量...通过系统学习和反复练习,你可以不断提升自己的算法水平,增强解决问题的能力,从而在求职竞争中脱颖而出。记得,理论知识与实践操作相结合,才是面试成功的关键。
在智育方面,学生需达到初级程序员的技能水平,包括计算机基础理论、编程能力(如C语言)、计算机硬件与软件维护、计算机网络基础知识、网页制作和数据库操作等。此外,他们还需具备较强的自学能力和适应新技术的...
《程序源代码面试指南——左程云著》是一本针对C++程序员的面试准备书籍,其主要内容涵盖了C++编程语言的基础知识以及在实际面试中可能会遇到的问题。这本书旨在帮助程序员提升技能,顺利通过大厂的面试,从而走上...
【王昭君的个人博客——记录精彩的程序人生】 在编程世界中,个人博客是一个程序员分享技术、记录成长...通过阅读和学习,我们可以不断提升自己的技术水平,享受在代码世界中探索的乐趣,共同见证精彩纷呈的程序人生。