《代码大全》阅读心得二

在第三四部分中,主要探讨的是具体的编程开发实践过程中的注意事项,相比一二部分,这些更具体,具体到变量。如果一个编程新手看这边书,从这里入手应该是个不错的选择,因为它贴近实战,能给人最直接的感受。可惜的是,初学编程时我并没有看到这本书。

这里,对变量命名是拒绝随意定义的,非常强调变量表达的含义,作者相信合理的变量命名可以让程序自我注释,读起来很自然,也就不容易犯错。变量一般是需要初始化的,尽管很多语言并不强制这一点,刚开始学编程的时候也容易忘记这一点;控制变量的作用域,全局变量少用;密切注意程序中的指针和动态分配内存,通过它们产生的内存泄露和缓冲区溢出,已经困扰了人们几十年,虽然发表了众多的论文和工具,问题却依然存在。在现在的开发过程中(Lua语言),如果你在某个位置(预定义允许位置外)定义了全局变量,是会给出输出警告的,必须把它修改为局部变量。关于作用域,在python、Lua或者OCaml这样的语言中,允许在函数中定义函数(闭包),这时候产生了所谓的upvalue,是特别要注意的,而且不同的语言中其作用方式是有差异的(python与lua闭包的一点不同),所以请记得深入一种语言去编程。

使用语句的时候书中也讨论了很多方面,就是要让程序可读、易读、美观,为了达到理想的效果,作者也提出了一些方法如表驱动法,通常来说,一条语句至少不能太长不能一口气表达太多的操作或者条件判断,语句间不能嵌套的太深,所有的语句应是在同一个抽象层次上表达操作,注意预期的正常路径和非法路径的安排顺序,避免虽然正确但容易被人误解(主要是还不完全熟悉语言的人,可谁能说自己完全熟悉某语言呢)的表述(如优先级次序问题),对goto的慎重使用(Lua中没有goto也用的挺好)。在实际的工作中发现,其实更多的问题并不是语句本身,而是对问题抽象的把握,该把哪些语句组织在一起成为一个功能函数,确定了这个,变量的命名、语句的编写都会顺利很多。

这两部分的实用性和可操作性都很强,特别适合正在入门的人阅读学习,刚开始的时候习惯容易养成也容易改,接受好的习惯是一个优秀的习惯。这两部分涉及的问题,处理的效果如何将决定系统的最终质量,规划设计的再完美最终要落实到正确可靠的实现上体现,作为最一线的编码人员一定要认真领会。

posted on 2012-12-15 20:35  小交响曲  阅读(272)  评论(0编辑  收藏  举报

导航