-
计划(Plan)
所谓Plan,其实就是对应于编程中的“设计”阶段,当然,这里的Plan并不像设计那样重量级。它要求我们程序员在正式编程前至少要考虑一下下面的问题:
- 你这个程序,工具或是项目的目的,究竟是用来干什么的。你只有知道做什么,要达到什么样的目的,你才能做得对,做得好。
- 需要有什么样的功能。需要你给出来个功能列表。这样可以保证我们不会遗露了什么。
- 准备好一些技术难题的前期调查和解决方案。不要等到开始编程的时候才去想。
下面这你因为有“Plan”而得到的好处:
- 你能够清楚地明白你要做的东西长什么样?
- 你能清楚知道你要开发的东西要干些什么事?
- 你能够在开发过程中解决你所有可能发生的难题。
-
使用伪代码
伪代码是一个非常不错的方式,让你可以看到你要写的程序长什么样?根据 维基百科(Wikipedia),伪代码被写定义成这样:
伪代码是一个紧凑和非正式的从高层描述一个计算机编程算法的结构约定。其主要是为了让人阅读而不是让计算机执行。典型的伪 代码一般会忽略那些算法中不需要人去关心的细节。比如:变量声明,系统调用,或是子程序。在伪代码中,编程语言被自然的人类语言所增强而放大,从而,更方 便,更紧凑。
一些人并不喜欢伪代码,因为他们并不相把同样的代码写两遍,一遍是伪代码,一遍是真代码。其实,这是可以理解的,因为两个copy的东西是比较不好 维护的。但是我想,这是可以权衡的,如果的算法很简单,那么就不需要伪代码了,如果你的算法比较复杂,比较绕,那么,有一个伪代码提纲挈领将会是一件非常 不错的事情,因为他有利于让别人从一个简单的文档来了解一个复杂的算法或系统。这就好像一个电线的布线图一样,你可以很容易地通过一个简单的文档从复杂的 实现中找到头绪。
-
书写清楚的注释
请在你的代码中书写清楚的程序注释。当然,注释不是越多越好,注释应该是简明扼要的,如果你的程序足够地清楚简单,那么注释就会显的多余。另外,注释应该是注释“原因,理由,目的”,而不是注释“是什么”,在“酷壳”的另一篇文章《惹恼程序员的十件事》中,有一条就是关于坏的注释是多么的另个讨厌。
-
使用自动的编辑工具
自动的编辑工具有很多,比如 Typinator, 这是一个可以通过设定一些替代的简单代码来实现重复语句的快捷插入,比如你自己的签名、常用的语句等等,通过它可以设定替代的简短代码。还有其它一些代码 自动完成的工具,比如一些VC的插件,还有像Source Insight这样的东西。别小看这一点点时间,如果你每天都在写代码的话,今天一点点,明天一点点,将会为你省出很多的时间。
-
减少代码
减少代码的数量,坚持DRY(Don’t Repeat Yourself) 和KISS(Keep It Simple & Stupid) 原则。这样可以有交物减少代码的复杂度,提高程序的易读性和可维护性,同时也能增加代码的质量。
-
代码重用
DRY (don’t repeat yourself) 原则就是告诉我们需要重用现有的代码。这样,你才能够站在巨人的肩膀之上,从而可以更多的关注和自己所要处理业务的逻辑。编程的最高境界就是写出来的代码是可能被重用的,重用和泛型这是编程里始终在追求的目标。
-
代码重构
一些老的代码可能已经不合时宜了,比较以前老的C++的STL库在多线程下可能会出现很多问题。所以,我们自己的代码也是一样的,每过一段时间,我 们需要把这些代码回收再利用,这就是软件的重构。重构代码所追求的并不是要提供更多的功能,而是让老的代码更有生命力,让老的代码跟上时代,更具扩展性, 灵活性。
-
使用设计模式
设计模式是一种从代码级解决某一些问题的方法论。这个世界上有很多很多的设计模式,比如MVC,单实例,工厂,观察者等等,等等。使用好的设计模式可以让你的代码更具重用和扩展性。关于设计模式,请参看本站的另一篇文章《101个设计模式》
-
使用程序框架Framework
Frameworks 是一份给程序员的礼物,他们帮助你完成了很多很细节的事情,他们有可能是一个lib库,你需要进行简单的拼装,一个几乎完成了的软件框架就已形成。这是一 个能够给开发工作提速的东西。只要上网随便搜一搜,你可以看到太多太多的框架了。形形色色,几乎都是开源社区贡献的。
-
泛型编程
如果抽像出一些程序中相似的东西,然后把这些相似的东西用一个标准的东西实现,这也是编程所追求的最高境界之一,像诸如C++中的STL之类的东西就是此类东西的最佳体现。灵活之及,几乎都快放之四海皆准了。
-
使用开源的代码
这个世界上有太多太多开源的代码了。学会利用他们可以让你更节省时间和精力,因为我们完全没有必要把相当的东西实现若干次,学会使用开源的代码不但是一个学习的过程,同样也是一个增加编程效率的事情。
-
完善开发环境
开发环境非常重要,因为好的开发环境可以让你事倍功半。他们可以让你不需要关注别的东西,比如,我曾看过某程序员在调整编辑器的字体和高亮上花费了不少工夫。是的,这是值得肯定了,只有把开发环境变得舒服,才能让自己更好的编程。
-
使用调试器
学会使用调试器来调试代码,单步跟踪,变量值跟踪,内存,堆栈等等。熟练地使用调试器可以让你更好的查找程序的问题,以得到最优的代码。
-
使用版本管理工具
版本管理工具应该是任何程序员都应该要去学会使用的东西,特别在一个团队中,如何管理程序的不同版本,如何维护,存放代码,版本管理工具绝对是开发过程中不可少的东西。其意义绝对不只代码备份和共享那么简单。下面是一些开源的管理管理工具:Git,SVN,CVS和Bazaar。
如何高效编程----高效编程所需要做的14件事
相关推荐
TCP+IP高效编程--改善网络程序的44个技巧;中文版;带书签
数学和泛型编程-高效编程的奥秘(英文版pdf)原名:From_Mathematics_to_Generic_Programming,作者;Alexander A. Stepanov Daniel E. Rose
- 方法应该做一件事,做好一件事,保持函数单一职责。 - 遵循Java命名规范,如方法名小写开头,驼峰式命名。 - 使用异常来表示不正常的程序状态,而不是作为常规控制流程。 5. 集合框架 - 理解List、Set、Queue...
Delphi是一种强大的面向对象的 Pascal 编程语言,由Borland公司(后被Embarcadero Technologies收购)开发,广泛应用于Windows平台上的应用程序开发。它以其高效的编译器、直观的集成开发环境(IDE)和丰富的组件库...
MySQL高效编程PDF,电子书 ,個人看了覺得很贊
《C++高效编程:内存与性能优化》是一本专注于C++编程语言内存管理和性能调优的书籍。本书深入探讨了如何在C++编程中高效地使用内存资源,以及如何进行性能优化,以编写出既高效又优雅的代码。 书籍作者Rene ...
Java高效编程涵盖了许多关键实践和策略,以提升代码性能、减少资源消耗并增强代码的可维护性。以下是一些从给定内容中提取的核心知识点: 1. **字符串连接**: - 使用`StringBuffer`或`StringBuilder`进行字符串...
【标题】"商业编程-源码-微软编程精粹.zip" 涵盖了一系列与商业编程和微软技术相关的源代码示例,旨在帮助开发者深入理解并应用微软的技术栈到实际的商业环境中。这个压缩包可能包含了多种编程语言,如C#、VB.NET或...
本文档《CUDA-Fortran高效编程实践》是为科学家和工程师提供的指导,旨在帮助他们充分利用 GPU 的计算能力,提升程序效率。 在开始CUDA Fortran编程之前,了解GPU计算的历史和并行计算的基本概念至关重要。GPU...
在C++编程中,效率是衡量程序性能的关键因素之一,尤其对于中高级程序员而言,掌握高效编程技巧至关重要。本文将围绕“C++高效编程”这一主题,深入探讨多个关键知识点,帮助你提升代码质量和执行效率。 1. **内存...
总的来说,XTW-5编程器安装包是一个全面的解决方案,涵盖了从硬件连接到软件使用的各个环节,旨在为开发者提供高效、便捷的编程和调试环境。在使用过程中,用户应仔细阅读相关文档,按照步骤操作,以充分发挥其功能...
本书直观明了地讲述了计算机算术的更深层次的、更隐秘的技术,汇集了各种编程小技巧,包括常见任务的小算法、2的幂边界和边界检测、位和字节的重排列、整数除法和常量除法、针对整数的基本函数、Gray码、Hilbert空间...
《JavaScript高效图形编程》是一本具有很强实操性的JavaScript图书,全书共分10章,涵盖的主要内容有:JavaScript的面向对象机制、JavaScript性能优化、jQuery和ExtJS库、高级UI设计、Web游戏开发、面向移动设备的...
"专业嵌入式软件开发 全面走向高质高效编程"的主题揭示了该领域关注的核心:提高软件质量和效率。这本书由李云撰写,包含书签功能和可选择的文字,方便读者查阅和学习。 嵌入式开发的关键知识点包括: 1. **硬件...
C++面向对象高效编程.
### .NET分布式编程-C#版知识点详解 #### 1. 分布式编程概念与背景 - **分布式编程定义**:分布式编程是指多个物理上独立的组件(如多台计算机)作为一个整体协同工作来解决问题的过程。这些组件之间通过网络通信...
TCP/IP高效编程 带书签 中文版 - 改善网络程序的44个技巧
综上所述,“商业编程-源码-精英计数器.zip”提供的源代码可能是一个全方位的商业数据分析工具,涉及多种编程技术和实践。通过深入理解并应用这些知识点,可以开发出更适应商业需求的高效软件。
QT高级编程视频教程是针对那些想要深入理解和掌握QT框架的开发者设计的,旨在从初级到高级逐步提升编程技能。QT,由Trolltech公司(现为Digia的一部分)开发,是一个跨平台的应用程序开发框架,广泛应用于桌面、移动...