程序员高效编程的14点建议

  概述:下面是开发大牛总结的高效编程的 14 点经验。

  下面是开发大牛总结的高效编程的 14 点经验。不管你是编程菜鸟还是资深程序员,或许都能从中得到启发。

  1. 计划

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

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

  下面是你因为有“plan”而得到的好处:

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

  2. 使用伪代码

  伪代码是一个非常不错的方式,让你可以看到你要写得程序长什么样?

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

  3. 书写清楚的注释

  请在你的代码中书写清楚的程序注释。当然,注释不是越多越好,注释应该是简明扼要的,如果你的程序足够地清楚简单,那么注释就会显的多余。另外,注释应该是注释“原因,理由,目的”,而不是注释“是什么”。

  4. 使用自动的编辑工具

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

  5. 减少代码

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

  6. 代码重用

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

  7. 代码重构

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

  8. 使用设计模式

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

  9. 使用程序框架 Framework

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

  10. 泛型编程

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

  11. 使用开源的代码

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

  12. 完善开发环境

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

  13. 使用调试器

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

  14. 使用版本管理工具

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

时间: 2024-11-13 03:58:20

程序员高效编程的14点建议的相关文章

程序员的编程、调试、排错小建议

在空白的文本编辑器里打开一个崭新的文本,没有一行代码,出现在眼前的是一个充满了无限可能和希望的项目.可是,当数千行的代码写完之后,整个项目因为bug的出现而被压垮了,更别说添加什么新功能了...这也许是对程序员的最大打击,在饱满的热情上浇了一盆冷水.其实,最好的软件程序员当然知道怎样去发现并修复这些bug,在刚开始编程的时候就通过软件工程的最好方法来降低bug的出现概率. 几乎没有哪个程序员能够写出一个bug都没有的代码,但是解决方法总是比困难多得多.多实践和坚毅的决心是成功的关键,这样才能够写

结束程序员对编程的恨

用笔者的经历现身说法,编程的确是一件需要极大.极大耐心的活儿.加上使用的是Emacs编辑器(谢谢老顾的建议和他的耐心:D),会犯更多的小错误,解决起来也更加令人烦恼.耐心很重要.对于第五条,也比较赞同,笔者已经习惯了遇到错误去百度一下错误代码,同时会浏览一下相关的错误例子以及原因,学习很快.最后一条同样重要,周围的很多同学,遇到一点小问题就跑到论坛问老师,个人很反感.我想:在现在这个阶段,只要你想,应该没有你不可能独立解决的问题. 每个人刚开始的编程技术都不理想,所以我们决定列出一张清单,写上大

程序员在编程开发中的10个实用技巧

程序员在编程开发中的10个实用技巧,下面是我自己在工作中学到的一些简单的技巧和策略,希望能对各位有用.1.     橡皮鸭调试法不知道各位有没有这样的经历,当你正在给别人描述问题的时候,突然灵机一动想到了解决方案?这种情况的产生是有科学依据的.高谈阔论能让我们的大脑重新有条理地组织问题.在这种情况下,你的聊天对象就是“橡皮鸭”.团队中的每个人都应该积极主动乐意地成为彼此的“橡皮鸭”.有时候,如果你幸运的话,你的“橡皮鸭”搞不好还能给出有效的建议呢.2.     快速信息反馈一旦写好代码就要尽快得

程序员常去的14个顶级开发社区

程序员常去的14个顶级开发社区 Stack Overflow 9月份,Stack Overflow也将迎来其6岁的生日,毫无疑问,Stack Overflow是全球最受程序员欢迎的开发社区,而且也是内容最丰富的社区之一. 官方网站:http://stackoverflow.com/ Reddit reddit也是一个非常富有个性的社区,你可以在reddit上提交一些感兴趣的话题,也可以和其他程序员讨论一些编程开发的问题和当前的IT热点资讯,reddit是一个用户粘性比较强的开放社区,编程开发板块

干货|程序员常去的14个顶级开发社区

作为程序员,选择好合适的开发社区对提高自己的编程能力会有很大的帮助,我也说不出为什么,但是一些优秀的实时开发社区确实能帮你积累不少开发经验. 下面这张图列出了14个程序员经常逛的顶级开发社区.作为程序员,你应该要了解其中一个或者最好是多个,并且学会使用它们,利用里面的资源提高自己的编程能力. 我们期望在开发者社区中获得什么? 我们希望能得到切实的帮助,而不是获取一些唠叨的废话或者一些水文.我们希望能根据自己提出的问题来获得其他开发者的回答帮助或者讨论一些学习资源的问题.下图是一些开发者在社区中最

提高程序员项目设计水平的11条建议

1.分析清楚你要面对的项目. 这是进行所有工作的第一步,如果你在这个地方都犯错了,那么后续所做的一切努力都是白费.比如,你要完成图书管理系统,那么你就应该明白这个系统主要是用于解决图书管理的问题. 2.考虑项目设计的方法. 在这个阶段,你要根据这个项目的特点考虑设计的工具和语言.比如,对于图书管理系统,它需要封装性好,这样有利于管理和维护.而这个系统开发周期较短,功能较简单.所以,根据其特点,选择Java作为开发语言会是一个不错的选择. 3.收集完整的需求. 花时间整理清楚你的用户群的基本需求有

程序员常去的14个顶级开发社区(转)

英文原文:14 Programming Communities for Developers, Hackers 作为程序员,选择好合适的开发社区对提高自己的编程能力会有很大的帮助,我也说不出为什么,但是一些优秀的实时开发社区确实能帮你积累不少开发经验. 下面这张图列出了 14 个程序员经常逛的顶级开发社区,作为程序员,你应该要了解其中一个或者最好是多个,并且学会使用它们,利用里面的资源提高自己的编程能力. 我们期望在开发者社区中获得什么? 我们希望能得到切实的帮助,而不是获取一些唠叨的废话或者一

黑马程序员——面向对象编程三大特性

黑马程序员——面向对象编程三大特性 ------- android培训.IOS培训.期待与您交流! ---------- 面向对象编程三大特性:封装,继承,多态,(抽象) ***封装的概念与原理*** 封装是面向对象的特性之一 封装的好处:降低数据被无用的可能性,保证数据安全性 不封装的缺点:会把自己的属性暴露给外部,失去对该属性的管理权 封装原理:实例变量默认只能被当前类的对象方法访问 **封装实现** 定义设置实例变量(setter)方法和访问实例变量(getter)方法 1)setter(

程序员必须收藏的14个顶级开发社区!

程序员必须收藏的14个顶级开发社区! 2016-09-09 求职秀 每日一题 红颜薄命(打一字) 关注公众号回复 0909 获取答案 今天给大家推荐一些程序员经常去的14个顶级开发者社区,如果你还不知道它们,那么赶紧去看看,也许会有意想不到的收获. ◆ ◆ ◆ tack Overfolw 9月份,Stack Overflow也将迎来其6岁的生日,毫无疑问,Stack Overflow是全球最受程序员欢迎的开发社区,而且也是内容最丰富的社区之一. 官方网站:http://stackoverflow