读《凌波微步:软件开发警戒案例集》
通过软件工程这门课程,我第一次意识到代码规范性、注释、以及单元测试的最重要性。通过对这本书浅显的理解,我更认识到了注释在团队合作中的重要意义。课上老师提到了代码风格的原则是:简明、易读 、无二义性。同时介绍了代码规范——缩进、行宽、括号、断行与空白的{}行、分行、命名、下划线、大小写、注释。 复杂的注释应该放在函数头,很多函数头的注释都是用来解释参数的类型等。而且注释一般写的是“why”和“what”而不能写“how”。
在阅读了老师推荐的这本书之后,对其中的案例有一些简单的认识。 对《凌波微步:软件开发警戒案例集》有了如下的认识。
- 代码的注释与风格
在学习软件工程这门学科之前,我在完成编码作业的时候几乎很少写注释。就像老师上课所讲,有人没有完全想好做什么就开始编码。又因为不怎么写注释,经常不知道到底是哪里出了问题。但是由于本学期有了软件工程这门课程,让我更能体会以后在工作中进行团体合作中会遇到的问题。程序不仅仅是给机器看的,更是给人看的,如果团队中每个人不写注释就会降低代码的可读性。我以后一定要努力提高代码及注释能力,写好注释是写好程序的第一步。
好程序的风格可能有很多种,不同风格之间也没有高下之分,可让人看不懂的代码却称不上风格。可能不同的程序员的风格都不一样,代码风格可以为自己的代码打上标签。但个人风格并不等于个人标签。
- 编译和编译选项
除了代码本身之外,有时候编译和连接选项的设置也足以提现程序员的个人风格和个人特色。和代码里的风格类似,编译选项用得好了,不但可以提高可执行文件的效率、可靠性或者兼容性,还可以彰显程序员的个性,而用得不.好,则有可能弄巧成拙。“编译”在软件行业里是一个相当重要.相当复杂、又相当高深的概念。我们用熟悉的高级语言写出代码之后,接下来就必定要向编译技术求助,只有计算机才真正情懂得的机器语言。
- goto语句
不含goto语句的程序更整洁、更清晰、更符合结构.化程序设计的要求一-这就是某些浅尝辄止的教科书出所能得到的最终结论了。一个容易让程序员们困惑,并在是否使用goto上举棋不定的地方是资源的初始化与清理问题。这里所说的资源初始化与清理包括内存的分配与释放、文件的打开与关闭、GUl对象的初始化和释放、COM环境的初始化和清理、ActiveX 对象的创建和删除、互斥量的获取与释放、数据库字段的加锁与解锁、分布式交易的开始与终止、通讯端口的打开与关闭等诸如此类的东西。在使用goto语句中,书上给了如下建议:
- 如果goto比其他任何一种方法都有助于提高程序的可读性,那么使用goto是最好的选择。
2.如果goto确实可以将代码的执行效率提高10倍以上,而用户对这段代码的第一要求又恰好是执行速度,那么在使用goto的同时记住要给出足够详细的注释。--这种情况在实时系统或嵌人式系统中比较常见。
3.每个模块(函数、过程、方法、子程序)最多使用一个goto标号,4.goto语句一定要出现在对应的标号之前,即只能向下跳转。
对于《凌波微步:软件开发警戒案例集》这本书,我只是粗浅的学习了一部分,让我加深我对我原来书写程序的反思,不仅是注释和风格还有其中所运用的算法。我觉得我以后在写程序的时候要正视自己的问题,多思考多反思。更深入的思考如何能将程序做到可读性高,以及高效性。通过老师推荐的书,我有了更深入的认识,让我受益颇多。我会在课下的时间进一步阅读老师推荐的数目。