《代码大全》第二版 粗浅印象


这是一本关于编程的好书,贵也值得买哦。不过,不管读什么书,读者都要有一种健康的怀疑态度,不能盲从。此书亦不免小的“瑕疵”(这无损于书的重要价值),在我看来,略举一例,如:第三十一章 布局与风格(p746)

------------------------------------------------------------------

不要用未缩进的begin-end对......begin-end对和控制结构对齐,其他的语句在begin下缩进。......例子

for ( int i = 0; i < MAX_LINES; i++)
{
    ReadLine( i );
    ProcessLine( i );
}

这种方法看起来不错,却违反了格式化的基本原理——没能显示出代码的逻辑结构。这样的话,begin和end既不是控制结构的一部分,也不是其后语句的一部分。
----------------------------------------------

我觉得这种花括号未缩进而块内语句缩进的风格也是可以接受的。大师Stanly B.Lippman在《Essential C++》中就采用到这种格式。

还有个建议,作者以为用“建造(Building)软件”,即用建造建筑物来隐喻构建软件,就更加有用,和软件生长的概念是相通的。“最后,建筑这一隐喻让人们对超大型的软件项目的认识更加深刻。超大型的结构一旦出现问题,后果将非常严重......“。

不过,在下看来,觉得用人类本身的治理活动,如治理国家来隐喻构建软件恐怕来得更贴切些。粗略地为之试说。国家有国家的意志;直属机构或地方机构各据一方服从中央(国家)治理地方;臣民百姓都用其自己的头脑和意志;尽管他们要服从国家的意志,但他们执行时都得在自己的大脑控制之下的,有其一定的自主性。构建软件要满足需求及其相关干系人的意志,各个子系统分治系统的各个部分、方面,共同承担着把整个系统治理好的任务;在子系统的管理之下,子系统的各个模块、对象等实现上级的任务;它们也有自己的意志和“头脑”。如果”地方“模块大了,可以分而治之,独立出一个地方机构来;如果那个”地方“接口不服从国家,可以空降一个Adapter,或Proxy,或提炼一个Facade等等等等。至于说到“
这一隐喻让人们对超大型的软件项目的认识更加深刻。 超大型的结构一旦出现问题,后果将非常严重“,这就更是二话没得说了。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值