编程格调

相关资料

[

本书堪称计算机专业人士和程序员必读的经典之作。全书从表达、控制结构、程序结构、输入和输出、常见错误、效率和测试工具、文档等多个角度,概括了程序设计中的最佳实践或规则,并通过代码示例加以分析和阐释。
  作者四十年前在本书中给出的70多条最佳实践和规则,大多数在今天仍然适用。一方面,很多程序员通过遵循这些最佳实践和规则编写出可靠而稳定的程序;另一方面,一些调试人员甚至将本书作为调试程序的参考书和检查表。
  正因为如此,本书的价值没有因为时间的推移而消磨,相反得到了更多的验证和凸显。时至今日,本书仍然被奉为程序员必读的经典之作。
  本书中包含的一些重要的规则(我们称之为“格调建议”)如下:
  撰写简洁的程序——不要耍小聪明
  代码要清晰,不要为了“效率”牺牲可读性
  使用语言好的特性,避免使用不好的特性
  先用容易理解的伪语言编写代码,然后再翻译成你需要使用的语言
  分块编写和测试大的程序
  校验输入的合法性和合理性
  在边界值上测试程序
  先做对,再做快
  保持简单性,反而会更快
  不要过度注释

]

本书特色

[

本书是编程惯用法和规则的实践指南。全书从表达、控制结构、程序结构、输入和输出、常见错误、效率和测试工具、文档等多个角度,概括了程序设计中若干的*佳实践或规则,并通过代码示例加以分析和阐释。
  本书两位作者都是程序设计领域的大师级任务。他们四十年前在本书中给出的70多条*佳实践和规则,大多数在今天仍然适用。
  本书堪称计算机专业人士和程序员的必读的经典之作,适合于不同层级的程序员和计算机相关专业的学生参考阅读。

]

内容简介

[

本书是编程风格方面的奠基之作,40年以来经久不衰,价值依旧,值得读者深入阅读和参考阅读。
  本书作者具有很高的知名度和权威度,是斯坦福大学的著名教授,也是计算机方面的著名科学家。
  作者四十年前在本书中给出的70多条*佳实践和规则,大多数在今天仍然适用。一方面,很多程序员通过遵循这些*佳实践和规则编写出可靠而稳定的程序;另一方面,一些调试人员甚至将本书作为调试程序的参考书和检查表。
  本书译者是文津图书奖获奖图书的译者。

]

作者简介

[

Brian W. Kernighan,全球知名、德高望重的计算机先驱,在程序设计方法论和软件工程方面做了大量开创性的工作。他曾长期在贝尔实验室工作,现在普林斯顿大学计算机科学系任教。他著有数本经典教材,包括与Dennis Ritchie合著的传世之作The C Programming Language、与Rob Pike合著的The Practice of Programming,以及最近出版的科普图书D is for Digital等。他还是AWK编程语言的发明者,这种语言广泛地应用在UNIX/Linux应用中。“K&R C”和“AWK”中的“K”都代表Kernighan。
  P.J. Plauger,全球知名的计算机科学家、C/ C++技术专家以及技术图书作者,更是数个标准C/C++程序库的作者。他曾经在贝尔实验室工作,现在任美国Dinkumware公司总裁。他曾经担任 C/C++ Users Journal高级编辑,也是The Standard C Library、Standard C : A Reference 和The Standard Template Library等图书的作者。
  译者简介
  高博,1983年生,毕业于上海交通大学。目前在互联网金融创业公司任首席产品官兼首席质量官,在信息科学和工程领域有近15年实践和研究经验。酷爱读书和写作,业余研究兴趣涉猎广泛。译著包括图灵奖作者高德纳的《研究之美》和布鲁克斯的《设计原本》,以及Jolt大奖作品《元素模式》等,出版翻译作品计近百万字。
  新浪微博:但以理_高博
  微信公众号:高博的世界
  徐章宁,1984年生,就读于上海交通大学,硕士毕业后就职于EMC中国卓越研发集团,现任EMC公司高级系统管理工程师,从事软件运维工作多年,钟爱开源软件。对各类知识有广泛兴趣,平日喜爱参与问答网站讨论,热爱读书摄影和写作。

]

目录

第1章 绪论 撰写简洁的程序—不要耍小聪明第2章 表达 简单并且直接地表达你要说的意思 使用库函数 避免使用临时变量 代码要清晰,不要为了“效率”牺牲可读性 让机器干脏活 用函数调用替代重复的表达式 加括号来避免歧义 选择不会被混淆的变量名 避免使用fortran的算术if 避免不必要的分支 使用语言好的特性,避免使用不好的特性 不要使用条件分支来代替一个逻辑表达式 用“电话测试”来检查可读性第3章 控制结构 使用do-end和缩进来界定语句组 用if-else强调两个操作中只有一个被执行 用do和do-while来强调循环的存在 确保你的程序是自顶向下阅读的 使用if…elseif…elseif…else来实现多路分支 使用基本的控制流结构 先用容易理解的伪语言编写代码,然后再翻译成你需要使用的语言 避免使用then-if和空else 避免使用elsegoto和elsereturn 判断要尽可能紧挨着与之相关的操作 使用数组来避免重复的控制流 选择可以简化程序的数据表示方法 不要止步于**遍的代码草稿第4章 程序结构 模块化,使用子例程 让模块之间的耦合变得可见 每一个模块都应该做好一件事 确保每一个模块都隐藏好一些东西 以数据为导向来构建程序的结构 不要修补烂代码——重写它 分块编写和测试大的程序 对于递归定义的数据结构使用递归过程第5章 输入和输出 校验输入的合法性和合理性 保证输入数据不会违背程序的限制 利用文件结束符号或结束标志来终止输入,不要让用户去计数 识别出非法输入数据,如果可能则纠正之 使用统一的形式处理文件结束条件 让输入数据易于准备,并让输出数据意义不言自明 使用统一的输入格式 让输入数据易于校对 尽可能选择自由格式输入 使用含义自明的输入,指定默认值,将以上二者都输出 将输入与输出局限在子例程中第6章 常见错误 确保所有的变量在使用之前都被初始化 不要停留在一个bug上 使用调试编译器 用data语句或initial属性初始化常量,用可执行语句初始化变量 小心“差一”错误 要注意对不等式进行正确的分支 避免循环有多个出口 确保你的代码巧妙地“不做事情” 在边界值上测试程序 预防性编程 10.0乘以0.1不等于1. 不要比较浮点数是否相等第7章 效率和测试工具 先做对,再做快 在提高程序运行速度时,要保持其正确性 先把程序改得更简洁,再提高其运行速度 不要为了“效率”上的蝇头小利而牺牲程序的简洁性 让编译器执行平凡优化 不要勉强地复用代码,应该进行改编 保证特殊情况真的有特殊性 保持简单性,反而会更快 不要为了提高速度而画蛇添足—去寻找更好的算法 在程序中放置测试语句,“增效”之前先执行测算第8章 文档 确保注释和代码一致 不要用注释复述代码做的事情,每个注释都要有实际意义 不要注释糟糕的代码——重写它 使用含有意义的变量名 使用含有意义的语句标签 程序的格式要有助于读者的理解 用缩进来体现程序的逻辑结构 记录你的数据规划 不要过度注释结束语  

封面

编程格调

书名:编程格调

作者:科宁汉

页数:181

定价:¥45.0

出版社:人民邮电出版社

出版日期:2015-03-01

ISBN:9787115379528

PDF电子书大小:138MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注