转:原文出处不详,以本地文本方式保存,感谢原作者。
不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。
2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉及其他的学科,比如天文、物理、数学等等。
3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多和同事或从事这行的朋友同学交流,看看别人对同一问题的看法,会给你很大的启发。
7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99% sweat and 1% coffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。所以抄写也是一种加强记忆的良好方法!
这些是对未来程序员生涯的一点建议,希望能够给大家有所帮助。
分享到:
相关推荐
在《提高Java程序动态性的一个新途径》这篇文章中,作者严忠林详细探讨了如何将invokedynamic指令应用于Java程序,具体是通过在生成的Java类文件中替换某些成员访问指令来实现的。这种替换可以改变Java程序原本固有...
Java编程规范是Java程序员在编写代码时需要遵循的一些约定俗成的命名规定,旨在提高Java程序的可读性和维护性。这些规范包括了包命名规范、类命名规范、接口命名规范、方法命名规范、变量命名规范和常量命名规范等。...
Java编程开源代码是一种极其宝贵的学习资源,它可以让开发者深入理解编程概念、设计模式和技术细节。在本开源代码实例中,我们可以探索Java语言的各种组件和应用领域。以下将详细阐述Java编程的一些关键知识点: 1....
5. **NIO(非阻塞I/O)**:Java的NIO(New I/O)提供了一种替代传统的阻塞I/O的机制,它允许多个通道在同一时刻进行读写操作,提高了网络编程的效率和性能。 6. **URL和URLConnection**:Java还提供了URL和...
《JAVA程序设计教程》第二版是由施霞萍编著的一本深入浅出的Java学习教材,本书涵盖了Java语言的基础知识到高级特性的全面...结合书中的理论和这些实践资源,将有助于提高Java编程技能,为未来的职业发展打下坚实基础。
* JAVA 编程需要大量的实践练习和项目来提高编程能力。 * 加入学习群是一个学习 JAVA 编程的好方法,可以从其他人的经验和知识中学习。 * 大神(腾讯、阿里等内部工程师)可以提供丰富的编程经验和知识,可以帮助...
Java编程的逻辑是编程世界中的一个重要主题,尤其对于初学者来说,掌握这些基本概念和思维方式至关重要。Java作为一种广泛使用的面向对象编程语言,以其强大的跨平台能力、严谨的语法和丰富的类库深受开发者喜爱。本...
JAVA核心技术 JAVA是由Sun Microsystems(现在隶属于Oracle Corporation)开发的一种静态类型、基于类的、面向对象的...通过学习Java核心技术,可以帮助开发者提高Java编程技能,编写更加高效、可靠和安全的Java程序。
Java程序设计基础是编程学习的重要领域,主要涵盖了Java语言的基础概念、语法结构和特性。Java是一种全面面向对象的编程语言,由Sun公司的...这些内容构成了Java编程的基石,对于开发高效、可靠的软件系统至关重要。
《Java语言程序设计提高篇+进阶篇第十版》是一本深入探讨Java编程技术的权威著作,适合已经掌握Java基础的开发者进一步提升自己的技能。这本书的第十版充分反映了Java语言的最新发展,包括Java 8及更高版本的重要...
通过以上内容的学习,学生将逐步建立起Java编程的知识框架,为后续更复杂的编程挑战做好准备。此外,课程还鼓励学生积极参与实践,通过实际编程项目来巩固所学,提高问题解决能力,最终形成具备职业竞争力的Java...
本文对Java程序优化与数据竞争检测的研究结果表明,Java程序优化是提高Java程序性能的重要手段,而JPDA平台是检测Java程序性能的重要技术。因此,在实际应用中,应充分利用Java程序优化和JPDA平台技术,提高Java程序...
《JAVA实用编程100例》是一本针对Java编程初学者和实践经验积累者的宝贵资源,它包含了一...总的来说,《JAVA实用编程100例》是你提高Java编程技能的得力助手,无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。
Java编程语言自诞生以来,因其独特的特性和强大的技术支撑,成为了计算机软件开发领域里应用广泛的编程语言。本文将详细探讨Java语言的主要特点,以及它在实际计算机软件开发中的应用。 首先,Java编程语言的特点是...
本资源摘要信息总结了Java程序设计的真题集锦,涵盖了Java程序设计的各个方面,包括Java基础知识、Java数组、Java GUI编程、Java事件处理、Java集合框架、Java文件输入输出、Java异常处理、Java多线程编程、Java网络...
理解类的定义、对象的创建以及封装、继承和多态等概念是Java编程的基础。封装使数据和方法安全,继承则允许代码重用,多态则为程序提供了灵活性。 2. **类和对象**:类是创建对象的蓝图,包含了属性(数据成员)和...
9. **错误处理与调试**:学习如何处理网络编程中常见的异常,以及如何调试网络应用程序,提高代码的健壮性。 10. **最新技术**:第三版可能会涵盖Java的新特性和更新,例如Java 8及更高版本中的新功能,以及对Java...
Java编程的逻辑是软件开发领域中的核心概念,它关乎如何用Java语言来构造高效、可维护的程序。在这个最全的资源中,我们能够深入理解Java编程的基本原理和高级技巧,帮助开发者提升技能水平。 首先,Java编程的基础...
《Java经典编程50道》是一份集合了Java编程中具有代表性和挑战性的题目资源,包含完整的源码,旨在帮助开发者提升Java编程技能。通过学习和实践这些题目,开发者可以深入理解Java语言的核心特性和常见设计模式,...