程序设计实践

出版社:机械工业出版社
出版日期:2002-4
ISBN:9787111091578
作者:Brian W.Kernighan
页数:267页

书籍目录

Preface
Chapter 1: Style
1.1 Names
1.2 Expressions and Statements
1.3 Consistency and Idioms
1.4 Function Macros
1.5 Magic Numbers
1.6 Comments
1.7 Why Bother?
Chapter 2: Algorithms and Data Structures
2.1 Searching
2.2 Sorting
2.3 Libraries
2.4 A Java Quicksort
2.5 O-Notation
2.6 Growing Arrays
2.7 Lists
2.8 Trees
2.9 Hash Tables
2.10 Summary
Chapter 3: Design and Implementation
3.1 The Markov Chain Algorithm
3.2 Data Structure Altematives
3.3 Building the Data Structure in C
3.4 Generating Output
3.5 Java
3.6 C++
3.7 Awk and Perl
3.8 Performance
3.9 Lessons
Chapter 4: Interfaces
4.1 Comma-Separated Values
4.2 A Prototype Library
4.3 A Library for Others
4.4 A C++ Implementation
4.5 Interface Principles
4.6 Resource Management
4.7 Abort, Retry, Fail?
4.8 User Interfaces
Chapter 5: Debugging
5.2 Debuggers
5.2 Good Clues, Easy Bugs
5.3 No Clues, Hard Bugs
5.4 Last Resorts
5.5 Non-reproducible Bugs
5.6 Debugging Tools
5.7 Other People's Bugs
5.8 Summary
Chapter 6: Testing
6.1 Test as You Write the Code
6.2 Systematic Testing
6.3 Test Automation
6.4 Test Scaffolds
6.5 Stress Tests
6.6 Tips for Testing
6.7 Who Does the Testing?
6.8 Testing the Markov Program
6.9 Summary
Chapter 7: Performance
7.1 A Bottleneck
7.2 Timing and Profiling
7.3 Strategies for Speed
7.4 Tuning the Code
7.5 Space Efficiency
7.6 Estimation
7.7 Summary
Chapter 8: Portability
8.1 Language
8.2 Headers and Libraries
8.3 Program Organization
8.4 Isolation
8.5 Data Exchange
8.6 Byte Order
8.7 Portability and Upgrade
8.8 Internationalization
8.9 Summary
Chapter 9: Notation
9. 1 Formatting Data
9.2 Regular Expressions
9.3 Programmab1e Tools
9.4 InterPreters, Compilers, and Virtual Machines
9.5 Programs that Write Programs
9.6 Using Macros to Generate Code
9.7 Compiling on the Fly
Epilogue
Appendix: Collected Rules
Index

图书封面


 程序设计实践下载



发布书评

 
 


精彩短评 (总计45条)

  •       被大多数人推崇的书是不会让人失望的, 虽然书中的有的思想, 在看之前就已经有在应用了,但是看了之后仍觉得收获很大。书本的内容并不算多,但是仍然能感觉到一个集大成者在程序设计中的严谨分析,作者引据论典,以经典的实例层层剖析,让我们在实践中强化理论,印证理论。毕业以来我阅读实践性强的书居多,一般都是针对特定技术,但是这类书看多了,总觉得太过枯燥,从而导致效率低下,虽然在C和C++方面连个入门客都算不上,但是却丝毫没有影响我的阅读热情,书中虽然多数是C和C++的实例,但是基本都是以经典算法为基础的,让我们可以挣脱语言的枷锁,体会到作者的设计箴言
  •     这本就是传说中的 K&P。必须拥有。时常翻看。
  •     他的翻译的确古怪。
  •       英语不好,第一次买英文书,没信心,正好发现这个评注版,欣然买之。然后发现所谓的评注不是针对难点的解释,大都是没用的,该解释的作者都已解释清楚了,而这本书又是写思想的不是技术,没有什么难点,评注看的反而碍眼,影响书原汁原味的感觉,这本书40多块329页,而原版的才20块才267页,上当了。。。
      
      这本书有中文版的高质量pdf,文字的,可以配着跟英文原版对应着看,原版在这:http://book.douban.com/subject/1096711/
      
      英语不好,要加强英语,评注版是个陷阱,不认识的单词还是不认识!
      看到还有一系列的书是所谓的评注版,翻倍卖,还给评注者打那多广告,赚钱这么容易?!
      
      下次坚决买原版!
      
      
  •     深有同感呀
  •     没完全明白你的意思。如果是说应该翻译成接口,似乎也未必。
  •       这是一本牢牢占据经典书架最起眼位置的小册子,也是最符合KISS之道的神作之一。
      
      抛开已有的业界的best practices,这本书还修正了我记忆中的很多错误认识,Brian Kernighan、Rob Pike的大名自然是本书最好的招牌;但作者的求实态度更值得每一个认真的programmer学习。
      
      整体上,全书采用一个实际问题作为切入点并且贯穿全书,涵盖了programming工作的各个方面,简明扼要却又发人深省。这个例子的选取本身就是非同谨慎的,规模不至于过大(100多行代码)但是又足以说明问题。
      
      我最欣赏的是作者并没有特意偏袒C语言这个Unix的宠儿,而是兼顾了Java、C++、awk三种语言,并用事实揭示了如何更好的使用语言,如何在实际问题和应用场景中取舍。
      
      读完全书,我特意从本书的网站上自习运行了作者的源程序,书中对于很多地方的分析和数据比较,在数年后技术突飞猛进的今天仍然没有发生本质变化。
  •     书是好书,适合刚刚开始接触程序设计的人,帮助养成优良的编程习惯和思维方式,对于有一定编程经验的人,也可以从中获得有益的启发,但是那就要抱着自我批评的态度去读。一点不足是书是32开的,字体较小。
  •     第一次看到界面差点没反应过来
  •     code complete 翻译成《代码大全》有点故意误导的意思,还是《完整编程》更符合原意一点。
  •     找时间一定看看
  •     绝对经典,程序员必读。
  •        个人认为比《设计模式》好,不论是否使用OO,都会有所收获。
      
       最近又在重读,当思路遇到死胡同时,看一看往往会有新的想法。
      
       文笔够精炼,译笔又够流畅。总体来说相得益彰,不过个人不太喜欢把interface翻译成“界面”。
  •     其实我看的是中文版...
  •     感觉是一个程序员正在研修的路上必读的书籍之一,可以帮助形成一些正确的观念和态度,力荐
  •       就是最近流行的敏捷编程,很多概念这本书也体现得很清晰了。
      
      文档寓于代码之中。
      测试先行,渐进式开发和测试。
      甚至结对编程都有一个例子。
  •     无聊
  •     除了代码大全雷了点儿外,其他书名还能接受,就是专业词汇的翻译让人不习惯
  •     我觉得这个不应该是不喜欢的问题,如果不是界面,难道不应该翻译成接口么?
  •       简短,精炼却又全面的程序员必读,涉及编码的各个方面,建议每个有一年左右编程经验的人都读一下,可以拓展视野,纠正问题。其中的例子十分经典,易于理解又不乏实用性。
  •     应付面试还蛮好的,不过很多东西就像书上所讲的那样,挂在嘴边,从不遵守
  •     code complete 还有一个"代码冻结"的意思。就是到release前夕,不能再改变。
  •     你他妈的评价的是那本书?
  •       书非常好。但翻译却不能令人满意,就好像一个外行在翻译。
      裘宗燕是计算机书籍翻译的前辈,也翻译了大量经典,但可能是由于翻译时年代久远,很多词汇都与现今流行的翻译方式不同。
      另外这本书已经绝版了,所以只能找电子版来看。期待本书再版。
      
      这里只举几个例子:
      本书的翻译 流行的翻译方式(个人意见)
      界面 接口
      在线函数 内联函数
      建构函数 构造函数
      废料收集 垃圾收集
      两千年问题 千年虫问题
      神秘的数 魔数
      黑箱测试 黑盒测试
      
      书籍名称也是如此:
      《完整编程》(Code Complete) 代码大全
      《熟练的C程序设计》(Expert C Programming) C专家编程
      《神秘的人月》(The Mythical Man Month) 人月神话
      《程序设计精萃》(Programming Pearls) 编程珠玑
  •       同样是出自大师之手,同样都是珠玑,这本书的名气实在太小。这就像做生意一样,生意好的店会越来越好,生意差的店只会越来越冷清。
      
      但是,没有看过这本书,是自己的损失。
      
      这本书有三好:1,实践性强;2,实践性强;3,实践性强。例如:第四章,将库函数的界面,作者首先通过一个简单的实现,分析了这个实现的各个缺点,然后根据前面的分析,完成了一个可用的库函数。新手最大的问题就是不知道自己的问题在哪里,而作者的这种表述方式对新手的帮助无疑是莫大的。
  •     赞。我加入购物单里了。
  •     一年左右经验……C初学者看得效果如何?
  •     讨论了几个程序设计的关键问题
  •     如此享誉全球的巨著,理当人手一册!!!
  •     很好的一本书,每天在地铁上读几页。不过印刷质量确实太糟糕
  •     偶然发现此书,非常谢谢楼主实用的点评!
  •     实用简洁
  •     我觉得自己看过几本裘老师翻译的书,每一本都需要自己先理解汉语说的什么,然后再理解内容是什么。所以,我觉得译笔比较生硬(还不是生硬,生硬的翻译也是比较直接就能知道说的内容是什么,裘老师的翻译是你要读这本书,需要经过两个步骤:1、理解中文;2、理解知识内容)。
    我个人觉得,不如直接读英文的更令自己记忆深刻,体会深刻。最起码直接接触的就是知识,你只需要理解要讲的内容。
  •     代码是给人看的,不是给机器
  •     K&R中的K写的书,扫了下
  •     那就一部分翻译成接口,应该多数是接口,其他翻译成界面可好
    反正这本我没看过,设计模式,我看不懂
  •       这本书从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中实际的、又是非常深刻和具有广泛意义的思想、技术和方法。
  •     深有同感啊,买的时候以为是中文版,结果发现是个英文版,而且中间加了一些恶心的评注。
  •     希望什么时候能够再版
  •       这本书都是一些经验介绍,很好,如C的尽量少用函数宏等,很值得一看,有经验的程序员可以发现你以前的一些习惯可能会有问题,自己体会吧。
  •       首先这个书评和原书内容几乎没有关系,针对这本评注版。
      
      当初选择买评注版的原因在于,它是英文版的,就这么简单。但是看完后发现这版有一两个说小不小,但是确实恼人的缺陷。
      
      其一是校对问题。书中出现很多单词排版错误,即两个单词连到一块去了,而且从第三章开始几乎每章都会出现几次,表现下存在感。甚至有一章还出现单词拼写错误……这个问题对于英文阅读是非常让人不舒服的。
      
      其二是评注,实话说,大部分评注没有太大的意义,基本都是翻一下选中的东西,然后再加点不痛不痒的。虽说评注也是一项颇有难度又耗费体力的活,但好歹得做得让人看得下去,比如云风评注Effective C++中所做的。没有意义或几乎没有意义的评注和类似(// main函数)这样的渣注释一样令人恼怒
      
      其三是细微的排版失误,有一章中有几个小标题没有format上
      
      如果说推荐这本书的原因,那只能是原书的内容,和评注没有半毛钱关系
      
      
  •     好书. 不过讲经验性的书, 还是要在实践之后收获大一点.
  •       足足看了一整天才翻到了最后的后记。
      昨天告诉朋友在读此书,朋友看了目录说这个大而全,感觉不到有东西在里面。
      说说自己的感受吧。
      风格部分最简单,类似于代码大全中的一些。
      算法,数据结构很简略,把树拿出来大概能吓跑一堆没经过学习的程序员。
      马可夫链很好,立马去翻编程珠玑,果然在记忆中有所讨论,自己思考了一下中文切词用该算法的可行性,也算是温故而知新,先前看编程珠玑还未有此想法。
      排错部分的各种方法很实际,以前一直觉得没什么书好好介绍这方面技巧,这回总算发现了知音。自己重度依赖调试器的使用,所以关于这是最后一个手段的论点不赞同,其它部分都是毫不犹豫的赞。
      
      测试部分也许当时还未有现在如此丰富吧。性能部分算是老调重弹,不过也算给了实例,最近听闻了两个真实案例,如果那两个项目pm能读过类似本书的内容也不会有让人惊讶的举措了。
      
      移植性,涉及好多常识,如字节高低位顺序等,好多摩登程序员未必明白吧。也许这就是高级语言的优势。
      
      最后关于语言是自己的兴趣所在,不过毕竟这不是编译的书,全都一笔带过了。
      
      书中示例代码充足易懂,认真研读,绝对可以增长,巩固一些知识。
      
      补充一下标题,感慨现在很多程序员的质量,希望你不是其中一员。
      
      
  •       推荐所有有一年编程以上的人看
      真是句句血泪呀
      不论语言不论平台
      总有适合的部分
      
      而且要做为备查的工具书
      时不时看
      一次不够还要多次看
      嗯
      考虑是不是买一本了
      图书馆的几天就被人recall回去了
  •     以前华章出过这本书,双语版,感觉还行
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024