`

高效编程所需要做的14件事

阅读更多

  1. 计划(Plan)

    所谓Plan,其实就是对应于编程中的“设计”阶段,当然,这里的Plan并不像设计那样重量级。它要求我们程序员在正式编程前至少要考虑一下下面的问题:

    • 你这个程序,工具或是项目的目的,究竟是用来干什么的。你只有知道做什么,要达到什么样的目的,你才能做得对,做得好。
    • 需要有什么样的功能。需要你给出来个功能列表。这样可以保证我们不会遗露了什么。
    • 准备好一些技术难题的前期调查和解决方案。不要等到开始编程的时候才去想。

    下面这你因为有“Plan”而得到的好处:

    • 你能够清楚地明白你要做的东西长什么样?
    • 你能清楚知道你要开发的东西要干些什么事?
    • 你能够在开发过程中解决你所有可能发生的难题。
  2.  

  3. 使用伪代码

    伪代码是一个非常不错的方式,让你可以看到你要写的程序长什么样?根据 维基百科(Wikipedia),伪代码被写定义成这样:

    伪代码是一个紧凑和非正式的从高层描述一个计算机编程算法的结构约定。其主要是为了让人阅读而不是让计算机执行。典型的伪 代码一般会忽略那些算法中不需要人去关心的细节。比如:变量声明,系统调用,或是子程序。在伪代码中,编程语言被自然的人类语言所增强而放大,从而,更方 便,更紧凑。

    一些人并不喜欢伪代码,因为他们并不相把同样的代码写两遍,一遍是伪代码,一遍是真代码。其实,这是可以理解的,因为两个copy的东西是比较不好 维护的。但是我想,这是可以权衡的,如果的算法很简单,那么就不需要伪代码了,如果你的算法比较复杂,比较绕,那么,有一个伪代码提纲挈领将会是一件非常 不错的事情,因为他有利于让别人从一个简单的文档来了解一个复杂的算法或系统。这就好像一个电线的布线图一样,你可以很容易地通过一个简单的文档从复杂的 实现中找到头绪。

  4. 书写清楚的注释

    请在你的代码中书写清楚的程序注释。当然,注释不是越多越好,注释应该是简明扼要的,如果你的程序足够地清楚简单,那么注释就会显的多余。另外,注释应该是注释“原因,理由,目的”,而不是注释“是什么”,在“酷壳”的另一篇文章《惹恼程序员的十件事》中,有一条就是关于坏的注释是多么的另个讨厌。

  5. 使用自动的编辑工具

    自动的编辑工具有很多,比如 Typinator, 这是一个可以通过设定一些替代的简单代码来实现重复语句的快捷插入,比如你自己的签名、常用的语句等等,通过它可以设定替代的简短代码。还有其它一些代码 自动完成的工具,比如一些VC的插件,还有像Source Insight这样的东西。别小看这一点点时间,如果你每天都在写代码的话,今天一点点,明天一点点,将会为你省出很多的时间。

  6. 减少代码

    减少代码的数量,坚持DRY(Don’t Repeat Yourself) 和KISS(Keep It Simple & Stupid) 原则。这样可以有交物减少代码的复杂度,提高程序的易读性和可维护性,同时也能增加代码的质量。

  7. 代码重用

    DRY (don’t repeat yourself) 原则就是告诉我们需要重用现有的代码。这样,你才能够站在巨人的肩膀之上,从而可以更多的关注和自己所要处理业务的逻辑。编程的最高境界就是写出来的代码是可能被重用的,重用和泛型这是编程里始终在追求的目标。

  8. 代码重构

    一些老的代码可能已经不合时宜了,比较以前老的C++的STL库在多线程下可能会出现很多问题。所以,我们自己的代码也是一样的,每过一段时间,我 们需要把这些代码回收再利用,这就是软件的重构。重构代码所追求的并不是要提供更多的功能,而是让老的代码更有生命力,让老的代码跟上时代,更具扩展性, 灵活性。

  9. 使用设计模式

    设计模式是一种从代码级解决某一些问题的方法论。这个世界上有很多很多的设计模式,比如MVC,单实例,工厂,观察者等等,等等。使用好的设计模式可以让你的代码更具重用和扩展性。关于设计模式,请参看本站的另一篇文章《101个设计模式

  10. 使用程序框架Framework

    Frameworks 是一份给程序员的礼物,他们帮助你完成了很多很细节的事情,他们有可能是一个lib库,你需要进行简单的拼装,一个几乎完成了的软件框架就已形成。这是一 个能够给开发工作提速的东西。只要上网随便搜一搜,你可以看到太多太多的框架了。形形色色,几乎都是开源社区贡献的。

  11. 泛型编程

    如果抽像出一些程序中相似的东西,然后把这些相似的东西用一个标准的东西实现,这也是编程所追求的最高境界之一,像诸如C++中的STL之类的东西就是此类东西的最佳体现。灵活之及,几乎都快放之四海皆准了。

  12. 使用开源的代码

    这个世界上有太多太多开源的代码了。学会利用他们可以让你更节省时间和精力,因为我们完全没有必要把相当的东西实现若干次,学会使用开源的代码不但是一个学习的过程,同样也是一个增加编程效率的事情。

  13. 完善开发环境

    开发环境非常重要,因为好的开发环境可以让你事倍功半。他们可以让你不需要关注别的东西,比如,我曾看过某程序员在调整编辑器的字体和高亮上花费了不少工夫。是的,这是值得肯定了,只有把开发环境变得舒服,才能让自己更好的编程。

  14. 使用调试器

    学会使用调试器来调试代码,单步跟踪,变量值跟踪,内存,堆栈等等。熟练地使用调试器可以让你更好的查找程序的问题,以得到最优的代码。

  15. 使用版本管理工具

    版本管理工具应该是任何程序员都应该要去学会使用的东西,特别在一个团队中,如何管理程序的不同版本,如何维护,存放代码,版本管理工具绝对是开发过程中不可少的东西。其意义绝对不只代码备份和共享那么简单。下面是一些开源的管理管理工具:GitSVNCVSBazaar

分享到:
评论

相关推荐

    C++高效编程:内存与性能优化(PDG)

    在C++编程中,内存管理和...以上知识点只是C++高效编程与内存优化的一部分,实际开发中还需要结合具体场景和需求进行深入研究和实践。通过对这些知识点的理解和运用,可以编写出更加高效、稳定且易于维护的C++程序。

    TCPIP高效编程:改善网络程序的44个技巧 PDF中文版带书签-目录

    说明--TCPIP高效编程:改善网络程序的44个技巧 PDF中文版带书签-目录 下载链接放在文档中 《TCP/IP高效编程:改善网络程序的44个技巧》是TCP/IP 领域历久弥新的经典著作,网络编程人员必备,对TCP/IP 网络编程中存在...

    C++高效编程,讲述C++编程技巧

    在C++高效编程的世界里,掌握正确的技巧和最佳实践至关重要,因为这直接影响...以上只是C++高效编程的一些核心概念,实际应用中还需要根据项目需求和团队规范进行调整。持续学习和实践是成为优秀C++程序员的不二法门。

    tcpip高效编程源代码(改善网络程序的44个技巧)

    在TCP/IP高效编程中,掌握一系列实用技巧是提升网络程序性能的关键。本书“TCP/IP高效编程:改善网络程序的44个技巧”旨在帮助开发者优化网络应用,提高其可靠性和效率。以下是一些核心知识点: 1. **TCP/IP协议栈*...

    MATLAB高效编程技巧与应用:25个案例分析程序和数据

    《MATLAB高效编程技巧与应用:25个案例分析》是一本深入探讨MATLAB编程的实用指南,旨在帮助用户提升编程效率,优化代码性能,并通过实际案例加深理解。书中涵盖了一系列MATLAB的核心特性,以及在工程计算、数据分析...

    ARM高效C语言编程.pdf

    标题《ARM高效C语言编程.pdf》所揭示的内容主要集中在如何在ARM处理器平台上进行C语言编程时进行代码优化,以提高执行速度和减小代码尺寸。ARM处理器因其高性能、低功耗和低成本等优势,在32位嵌入式系统中获得了...

    C语言高效编程方法.rar

    在C语言中,高效编程是每个开发者追求的目标,它涉及到代码的执行速度、内存使用以及程序的可维护性。以下是一些关键的高效编程方法,这些方法将有助于优化你的C程序。 1. **理解数据类型**:C语言提供了多种数据...

    MATLAB高效编程技巧与应用:25个案例分析【扫描已文字识别完整版图书+25个案例代码】

    《MATLAB高效编程技巧与应用:25个案例分析》是一本深入探讨MATLAB编程精髓的书籍,旨在帮助用户提升编程效率,优化代码性能。本书通过25个具体案例,全面解析了MATLAB在实际问题解决中的应用策略,涵盖了从基础操作...

    C++高效编程

    《C++高效编程》是一本深入探讨如何优化和提升C++程序性能的专业书籍。它不仅涵盖了C++的基础语法和高级特性,还强调了在实际开发中如何利用这些特性来编写高效、可维护的代码。书中的内容丰富多样,旨在帮助程序员...

    赠送资源7 50个VB高效编程技巧.rar

    【VB高效编程技巧详解】 VB(Visual Basic)是微软公司推出的一种基于事件驱动的编程语言,深受初学者和专业开发者的喜爱。它以其简洁的语法、丰富的控件库以及易于理解的特点,使得VB编程变得高效且直观。本资源...

    程序员编程最需要的计算机词典

    《程序员编程最需要的计算机词典》是一款专为程序员量身打造的综合资源包,包含了大量编程相关的术语、概念和工具的详细解释。这款词典软件不仅提供了方便的查询功能,还涵盖了各种编程语言、数据结构、算法、操作...

    基于LeetCode平台的高效编程挑战解题思路JavaScript和Python设计源码

    该项目是针对LeetCode编程挑战的高效解题思路资源,总计包含752个文件,涵盖了444个Markdown文档、120个PNG图像文件、59个drawio文件、58个图片文件(包括jpg和jpeg格式)、16个JavaScript源码文件、14个GIF动画文件...

    TCP+IP高效编程--改善网络程序的44个技巧.zip

    《TCP+IP高效编程--改善网络程序的44个技巧》是一本专注于网络程序优化的指导书籍,主要针对TCP/IP协议栈的运用和C++编程语言进行深入探讨。该书通过对44个实用技巧的详细讲解,帮助开发者提升网络应用程序的性能、...

    vc 编程实例 vc 编程实例

    综上所述,《VC编程实例》涵盖了C++语言、MFC框架、Windows API、事件驱动编程等多个方面,旨在通过实例教学,帮助开发者从零开始,逐步掌握VC编程技术,实现自己的Windows应用程序。通过不断的实践和探索,你将能够...

    TCPIP高效编程-改善网络程序的44个技巧

    《TCP/IP高效编程-改善网络程序的44个技巧》这本书深入探讨了如何优化网络程序,提高其性能和效率。TCP/IP是互联网的基础协议,理解并掌握其高效编程技巧对于开发高质量的网络应用至关重要。以下是对书中部分核心...

    linux C语言 网络编程教程及源码

    14、Linux网络编程14——I/O复用之select详解 15、Linux网络编程15——I/O复用之poll详解 16、Linux网络编程16——I/O复用之epoll详解 17、Linux网络编程17——tcp并发服务器(多进程) 18、Linux网络编程18——tcp...

    Matlab高效编程技巧与应用25个安全分析

    MATLAB作为一种强大的数值计算和数据可视化工具,其高效编程能够显著提升计算速度,减少资源消耗,而安全分析则能确保程序稳定运行,避免潜在错误。以下是一些关于MATLAB高效编程技巧与应用以及安全分析的关键知识点...

    基于ARM的高效C语言编程.pdf

    总结以上知识点,对于基于ARM的高效C语言编程,编程人员需要深入理解ARM处理器的工作原理,优化数据类型和局部变量的使用,并充分利用寄存器资源。通过这些方法,可以在保证代码正确性的同时,提升程序的执行速度和...

    RL78 自编程库

    RL78自编程库是专为瑞萨RL78系列微控制器设计的一种软件库,它提供了在系统编程(ISP, In-System Programming)或自编程功能,使得用户可以在不从目标系统中移除芯片的情况下更新微控制器的CodeFlash内存。这种能力在...

Global site tag (gtag.js) - Google Analytics