养成好的编程习惯

假设有一种编程的方法,能够克服所有的编程困难和改正所有的错误,而且能够避免重写代码,那么……但这种完美的编程方法是不存在的。程序员需要做的事情是学习和借鉴优秀程序员的经验与方法,以免重蹈覆辙。

下面的一些编程方法,希望对你有所帮助。

1.使用assert判断语句假设你是一个超级程序员,你写的代码永远都不会有错误。但是,如果你写的完美代码没有得到完美的数据,结果会如何?例如,在代码中合法地使用一个指针,但是指针会把一个声音文件当作一个图片文件来处理,那么这段代码不能完成任何事情。如何解决这个问题呢?我们知道C语言有一个标准的函数assert,它能够用来捕获错误。代码接收到用户数据后要先确认这个数据是不是程序员所期望的,如果不是,通过使用assert打印消息来检查程序可能发生了什么错误。通过这种方法程序员就能知道数据的正误,百分之九十的错误都是一些简单的错误。所以,如果在程序中某些地方写一条assert判断语句,就能避免这些简单错误。大多数情况下,使用assert判断语句能够发现程序中错误的输出数据,有时assert语句也会造成严重错误,但这种错误可以很容易被调试人员发现并改正。不论程序员采用哪种编程语言,编写的第一个程序一般都是打印一条消息。把这个打印消息的功能作为程序中一个基本的函数,能够简单地打印任何错误。通过打印的信息,程序员能查出不明显的错误,从而节省改正错误的时间,提高效率。

2.在程序中加入适当注释让程序员回忆几个月前编写程序时的想法是很痛苦的事情,程序员不会记得程序的每一段代码的作用,因此,在程序中写入注释是一个好的编程习惯,特别是当代码需要别人来阅读时,注释的作用就更明显了。如果程序员发现代码中有一个错误,那么他必须重新检查程序代码并且改正错误,通过注释,程序员就能回忆当时编写代码时的想法,很快找到错误并改正。特别是在解释程序中变量的含义和复杂计算的作用时,注释就显得更加重要了。注释是程序员最重要的工具之一,所有的编程语言都有支持注释的功能。

3.在程序中加入文档在写一个程序文档时,需要花大量篇幅介绍整个系统和模块的功能,这样做是正确的,但却是没用的。因为没有多少人会认真地去读程序文档,甚至很多人会忘记程序文档的存在,他们在遇到问题时会直接去找程序员。如果用源代码和说明来记录文档,就简单多了。在每一个函数的开头,用一段注释来解释函数的功能、函数的用法和需要注意的问题等,这样会使程序非常清晰。对于一段比较复杂的代码,还需要解释编写程序时所采用的方法。通过在源代码中写文档,程序员能够随时找到程序文档,其他程序员也可很方便地阅读代码,因此程序员将会无意识地阅读程序的文档,而不会置之不理。如果用户询问程序员关于某一段代码的作用时,程序员就会知道该段代码缺少明白的注释。从而,可让程序员迅速地补上以完善程序文档。

4.采用工具提高编程效率在编程的工作中,程序员也许会遇到一些无聊的工作,例如,在编译程序时,要花费很多时间来等待编译完成,或者在使用了别人的API函数后,要记住函数的名称和参数也是一个很累的活儿。这些工作并没有什么技术性可言,例如编译程序,每天晚上都会有一些程序员把新增加的程序放入程序库,然后第二天上班需要重新编译程序,这些工作是一些重复的工作,由于程序很大,编译的过程漫长,程序员们要耐心等待。如果采用一些工具在程序员休息时自动编译程序,就会大大提高编程效率,而无须程序员做无聊的等待工作。我曾经写过一个程序,程序会在每天早上3点自动重新编译程序,到了早上8点左右,差不多就编译完成了。如果捕获到错误,就发电子邮件给相关的人,每个程序员在工作时间都能得到一个最新的、编译好的程序,还能得到错误报告。如果使用别人写的API函数,需要熟悉函数的命名方法和参数的定义方法,但是程序员没有时间去查看文档,于是我编写了一个工具,让它来检查函数调用和参数是否正确。如果有错误,则从文档中找到可能的函数,并在错误日志中给予提示。因此在编写代码的过程中,就不用再担心函数拼写、参数调用类型和顺序的问题了。通过这些工具可以提高编程效率、减少出现错误的可能性。

5.可复用的代码面向对象的编程方法使程序员可以重复使用自己曾经编写的代码或者别人编写的代码。这就好比我们生产一辆汽车,我们需要引擎、传动带、轮胎、控制系统等许多部件,但是我们不一定要生产所有的汽车部件,我们在需要时直接向别的生产商订购即可。程序员在编写程序时也不一定要编写所有的类或函数,可以通过查找类库手册或函数手册,直接调用别人已经编写好的、功能完善的类或函数,这样可以节约编程时间、提高效率,同时还可以减少出错的可能性。

总之,养成一个好的编程习惯不但可以提高编程效率、减少出错的机会,还会使程序代码具有更好的可读性,便于程序员之间的交流

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值