作者:袁红岗(APUSIC技术总监)
不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。
2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。
3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99% sweat and 1% coffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
这些是我这几年程序员生涯的一点体会,希望能够给大家有所帮助。
转:http://edu.yesky.com/edupxpt/3/2062503.shtml
分享到:
相关推荐
《C++编程思想》是一本深受程序员喜爱的经典教程,它旨在帮助读者深入理解C++语言的核心概念和编程技巧,从而提升编程水平。本书通过丰富的实例和深入的理论讲解,将抽象的编程思想转化为具体的操作实践,是C++初学...
本文将深入探讨如何提升编程水平,帮助程序员成为更好的自己。 首先,专研精神是编程修养的核心。这不仅意味着对编程语言和技术栈的深入理解,更包含了对新知识的渴望和不断探索的勇气。在快速发展的IT行业中,新...
这些概念不仅关乎编程技巧,更涉及如何通过练习和领悟提升编程水平,体现编程的创造性和艺术性。 首先,关于反复推敲代码,王垠老师强调了代码编写的勤奋和质量比数量更为重要。在编程实践中,简单和优雅的代码往往...
YCL 青少年人工智能编程水平测试四级模拟题解析 本资源摘要信息涵盖了 Python 编程语言的基本概念和...以上这些知识点都是 Python 编程语言的基本概念和知识点,掌握这些知识点对于编程入门和提高编程水平非常重要。
提高C#编程水平的50个要点,对提高C#有很大的帮助 提醒你学习中应注意的问题
提高C#编程水平的50个要点 提高C#编程水平的50个要点
总结来说,这本书非常适合那些已经有一定C++基础,并且希望进一步提升自己编程水平的高级程序员。书中不仅包括了高级的编程技巧和方法,还涉及了代码优化、项目管理和团队协作等多方面的知识。通过学习书中的内容,...
总的来说,提高Matlab编程水平需要对数值计算、图像处理和信号处理等核心领域有深入理解和熟练运用。通过不断练习和实际项目经验积累,可以逐步成为Matlab编程的专家。希望以上的题型分析能为提升Matlab编程能力提供...
提高CS编程水平的50个要点 1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 as 操作符 4.使用条件属性 (Conditional ...
通过仔细阅读和理解这些规范,程序员能够逐步提高自己的编程水平。 #### 二、文档结构及历史 文档本身有着清晰的版本控制和更新记录,这本身就是良好软件开发实践的一个例子。文档的版本历史如下: - **V 0.9 ...
看了之后才发觉,之前的...一些技术要点的掌握对提高编程水平是很好。面试题上要是能套用上这些细节,我想面试成功率将斗升。 例如 释放资源,如果你还写很多代码那么很土,反之你若知道using的用法其他用法效果肯定...
ChatGPT 是一种基于人工智能的自然语言处理技术,它在大学生计算机学习中有着广泛的应用。...同时,掌握计算机科学的核心概念,如操作系统、数据结构、算法、编译器、数据库和网络协议,也对提升编程水平至关重要。
《挑战编程技能:57道程序员功力测试题》是一本旨在提升编程能力的电子书籍,主要针对想要检验和提升自己编程水平的程序员。书中的57道题目涵盖了多个编程领域和技能点,通过解答这些题目,读者可以深入理解编程语言...
很多人学习了C语言以后,苦于没有锻炼机会,水平仅仅停留在书本上,何不自己开发一款游戏,技能大幅提高编程水平,又能体会到编程的乐趣,而且可以对以后开发大型游戏打下基础,何乐而不为呢?!书中有很多小游戏的...