• c51单片机高级语言编程应用实践

    本书详细介绍了KeilCx51V7.机C语言编译器和全新Windows集成开发环境μVision2的强大功能和具体使用方法。全面介绍了最新版本Cx51编译器新增加的控制命令,给出了全部Cx51运行库函数及其应用范例,对KeilCx51软件包中各种应用工具,如BL51/Lx51连接定位器、A51/Ax51宏汇编器、LIB51库管理程序以及OH51符号转换程序等都作了详细介绍,还介绍了单片机实时多任务操作系统RTX51及其子集RTX51TINY的具体功能与应用方法。μVision2已经将调试器功能集成于其中,用户可以在单一环境下完成从源程序编写、编译、连接定位一直到目标文件的仿真调试等全部工作,书中详细介绍了μVision2各种功能和应用,包括软件模拟调试和硬件目标板实时在线仿真。

    0
    0
    22.04MB
    2018-05-05
    5
  • 30本python经典书合集(1/3)

    自己整理的经典python合集: byteofpython_chn.pdf Dive.Into.Python-zh-cn-5.4-with-code.chm diveintopythonzh-cn-5.4b-code.rar diveintopythonzh-cn.pdf Django+Web开发指南.pdf Py2_5_tut_cn.pdf Python 编程指南.pdf Python.Cookbook(第2版)中文版.pdf Python.UNIX和Linux系统管理指南.pdf Python3程序开发指南.第二版.pdf Python_精要参考(第二版).pdf Python参考手册(第4版).pdf Python基础教程(第2版).pdf Python学习手册_第3版.pdf Python技术参考大全.pdf Python技术手册(第2版).pdf Python核心编程.pdf Python源码剖析.pdf python简明教程.chm Python编程金典-读书笔记.pdf Python网络编程基础.pdf Python高级编程.pdf [笨方法学.Python].(Learn.Python.The.Hard.Way).Zed.Shaw.p df 深入Python(中文版).chm 深入_Python_3.pdf 用Python进行自然语言处理.pdf 简明python教程.pdf

    5
    0
    180MB
    2018-05-05
    25
  • 30本python经典书合集(2/3)

    自己整理的经典python合集: byteofpython_chn.pdf Dive.Into.Python-zh-cn-5.4-with-code.chm diveintopythonzh-cn-5.4b-code.rar diveintopythonzh-cn.pdf Django+Web开发指南.pdf Py2_5_tut_cn.pdf Python 编程指南.pdf Python.Cookbook(第2版)中文版.pdf Python.UNIX和Linux系统管理指南.pdf Python3程序开发指南.第二版.pdf Python_精要参考(第二版).pdf Python参考手册(第4版).pdf Python基础教程(第2版).pdf Python学习手册_第3版.pdf Python技术参考大全.pdf Python技术手册(第2版).pdf Python核心编程.pdf Python源码剖析.pdf python简明教程.chm Python编程金典-读书笔记.pdf Python网络编程基础.pdf Python高级编程.pdf [笨方法学.Python].(Learn.Python.The.Hard.Way).Zed.Shaw.pdf 深入Python(中文版).chm 深入_Python_3.pdf 用Python进行自然语言处理.pdf 简明python教程.pdf

    5
    0
    180MB
    2018-05-05
    3
  • 30本python经典书合集(3/3)

    自己整理的经典python合集: byteofpython_chn.pdf Dive.Into.Python-zh-cn-5.4-with-code.chm diveintopythonzh-cn-5.4b-code.rar diveintopythonzh-cn.pdf Django+Web开发指南.pdf Py2_5_tut_cn.pdf Python 编程指南.pdf Python.Cookbook(第2版)中文版.pdf Python.UNIX和Linux系统管理指南.pdf Python3程序开发指南.第二版.pdf Python_精要参考(第二版).pdf Python参考手册(第4版).pdf Python基础教程(第2版).pdf Python学习手册_第3版.pdf Python技术参考大全.pdf Python技术手册(第2版).pdf Python核心编程.pdf Python源码剖析.pdf python简明教程.chm Python编程金典-读书笔记.pdf Python网络编程基础.pdf Python高级编程.pdf [笨方法学.Python].(Learn.Python.The.Hard.Way).Zed.Shaw.pdf 深入Python(中文版).chm 深入_Python_3.pdf 用Python进行自然语言处理.pdf 简明python教程.pdf

    5
    0
    122.74MB
    2018-05-05
    3
  • 安卓Android开发电子书大全 2018 (4/4)

    Android嵌入式智能操作系统是基于Linux内核和驱动的,对于HTC、华为等公司开发Android操作系统时,需要专门将Android移植到 特定硬件平台下,同时将必要的驱动进行编写及开发。 文件目录: 10个常见的_Android_新手误区.doc 12586020.rar 5 Android源码.rar android 2高级编程(第2版).zip Android_控件.doc android中文教程.rar Android基础教程.rar android学习进阶路.doc android平台初级错误整理.doc Android应用开发揭秘源码.zip Android应用开发详解.rar Android开发手册.CHM Android开发技巧合集(个人感觉非常好).rar Android开发教程(推荐).rar Android教程.doc Android江湖.rar android界面切换之动画效果全汇总.rar Android系统文件夹结构解析.doc Google.Android.SDK开发范例大全.第2版.rar Google.Android开发入门与实战.rar

    0
    659
    173.81MB
    2018-05-05
    50
  • 安卓Android开发电子书大全 2018 (1/4)

    Android嵌入式智能操作系统是基于Linux内核和驱动的,对于HTC、华为等公司开发Android操作系统时,需要专门将Android移植到 特定硬件平台下,同时将必要的驱动进行编写及开发。 文件目录: 10个常见的_Android_新手误区.doc 12586020.rar 5 Android源码.rar android 2高级编程(第2版).zip Android_控件.doc android中文教程.rar Android基础教程.rar android学习进阶路.doc android平台初级错误整理.doc Android应用开发揭秘源码.zip Android应用开发详解.rar Android开发手册.CHM Android开发技巧合集(个人感觉非常好).rar Android开发教程(推荐).rar Android教程.doc Android江湖.rar android界面切换之动画效果全汇总.rar Android系统文件夹结构解析.doc Google.Android.SDK开发范例大全.第2版.rar Google.Android开发入门与实战.rar

    1
    507
    210MB
    2018-05-05
    42
  • 编程匠艺:编写卓越的代码 PDF中文 (2/2)

    Code Craft: The Practice of Writing Excellent Code 如果你可以编写出合格的代码,但是想更进一步、创作出组织良好而且易于理解的代码,并希望成为一名真正的编程专家或提高现有的职业技能,那么《编程匠艺——编写卓越的代码》都会为你给出答案。本书的内容遍及编程的各个要素,如代码风格、变量命名、错误处理和安全性等。此外,本书还对一些更广泛的编程问题进行了探讨,如有效的团队合作、开发过程和文档编写,等等。本书各章的末尾均提供一些思考问题,这些问题回顾了各章中的一些关键概念,可以促使你像专家一样思考,从而使本书成为那些渴望作为团队的一分子,职业并高效地编程的新手们的一本绝佳的参考书。 Pete Goodliffe是一位软件开发专家,他在软件“食物链”上从未驻足不前。他在各种各样的项目中使用过许多种语言。他还在教授和指导程序员方面有着丰富的经验,并且常年为ACCU的C Vu杂志(www.accu.org)撰写栏目“编程的职业化”。 Pete痴迷于编写出色的、没有错误的代码,这使得他有更多的时间与自己的孩子共度美好时光。..... 译者序 著名国画大师齐白石在年轻的时候,曾经做过木匠。据说有一次他和师傅去给地主干活,在路上迎面走来另外一对木匠师徒。齐先生的师傅说,赶紧给别人让路。师徒俩站在路边,老师恭敬地目送那两人渐渐走远。齐白石不解,问师傅:同是木匠,你我师徒为什么要给他们让路。老师傅回头说:为什么?别人是做细活的,我们是做粗活的。 Pete Goodliffe在业界的年头快要超过好多人的年龄了,此君曾经涉猎多个领域、不同的编程语言以及多种架构,并且曾经在采用不相同流程的公司里从事开发。在本书中,他把多年压箱底的一些观念想法和技巧告诉了大家,这些都是时间与智慧的结合,相信无论是开发人员、项目经理甚至测试人员,都可以从中发现阿里巴巴开启金库的钥匙。 那么本书有什么特色呢?对于想了解内容的普通读者来说,本书至少有以下特点:.. 1.贴近实际 《编程匠艺——编写卓越的代码》是本书的书名,但也是作者的用心所在。人生有三个境界,最后一个就是“看山是山,看水是水”。这是废话吗?当然不是,作者对此给出了最好的解答。作为程序员,我们最喜欢争论不同工具、平台、方法之间的优劣。而作者却通过多年经验,力图告诉我们应该如何提高质量,并成为一名优秀的程序员。这些方法就像点石成金的手指,它们是方法论,而不是针对具体的工具或者平台的说教。我们现在所缺的,恰恰是这些能使自己更进一阶的手段,而不是那些特殊的技术细节。 2.内容丰富翔实 很少有一本书能涵盖如此多的领域,并且还如此扎实。作为一名程序员,我们可能永远无法达到完美。而需要处于一种持续不断地提高的状态,总会有更多的东西需要学习。那么下一步应该做什么呢?这里就有答案。 3.可作为“秘要心法” 本书不仅适合入门者,也适合需要提高的开发人员,以及那些想管理好所谓代码猴子的项目经理们。与《项目经理案头手册》一样,这本书也将成为每人的案头手册或者枕边书,可以作为应急或者提升的手段。如果以后碰到了问题,可以随时参阅相关的章节。 4.心态决定一切 这句话对吗?有了良好心态,不一定行,如果没有,肯定不行。我们常常羡慕于老外以四五十岁的年纪仍然能继续从事编程,为什么我们不行呢?可能不同的读者都会找到属于自己的答案!Pete Goodliffe具有宽阔的视野,扎实的基础,广泛的爱好,带有一种程序员应该具有的高雅和恬淡。这正是我们这个浮躁的时代中积极探索的一代程序员所不具备的。 最后禁不住要抱怨一下,作者Pete Goodliffe以他丰富的阅历和爱好,给译者带来了不小的麻烦,比如出于它对于音乐的爱好,所有章节的标题都来自英国的歌曲名称。为了理解上的直观,我们在翻译的过程中采取的是“信达雅”中的“雅”,以保证国内读者能很快切入主题。本书每章开始和行文的过程中,作者都引用了历史上或者现在社会中一些名人的名言,这给翻译增加了不少的难度,但是由于贴切精辟,这些名言也可称之为点睛之笔。尤为值得高兴的是,此君对我中华文化竟然也有一定的造诣,孔夫子和老子的哲理名言竟然多次出现,而且能够贴切地表达出这些圣人的思想对软件开发有哪些启示,这非常不简单,难为了作者,也着实难为了译者。从外国作者的笔下,让我们着实体会到了自己国家的文化源远流长。这从一个侧面也体现出东海西海,千圣一心。 此书给了我们一个快速成功进阶的好范例。我觉得它更像一个程序员的入门或者修行心法。从此入门,我们可以少走很多弯路。同时,我们也要争取像佛经中“般若波罗密”所讲的那样:大智慧到彼岸,最后连佛法也像渡河的筏子一样,成佛后立即丢弃。我更希望的是,看过此书的读者们,最后能够拍案而起,大声说:我可以了。... 目录: 第Ⅰ篇 代码表面第一部分 第1章 善于防守——健壮代码的防御性编程技巧 1.1 向优秀的代码前进 1.2 设想:最坏的选择 1.3 什么是防御性编程 1.4 又大又坏的世界 1.5 防御性编程技巧 1.5.1 使用好的编码风格和合理的设计 1.5.2 不要仓促地编写代码 1.5.3 不要相信任何人 1.5.4 编码的目标是清晰,而不是简洁 1.5.5 不要让任何人做他们不该做的修补工作 1.5.6 编译时打开所有警告开关 1.5.7 使用静态分析工具 1.5.8 使用安全的数据结构 1.5.9 检查所有的返回值 1.5.10 审慎地处理内存(和其他宝贵的资源) 1.5.11 在声明位置初始化所有变量 1.5.12 尽可能推迟一些声明变量 1.5.13 使用标准语言工具 . 1.5.14 使用好的诊断信息日志工具 1.5.15 审慎地进行强制转换 1.5.16 细则 1.6 约束 1.6.1 约束的内容 1.6.2 移除约束 1.7 总结 1.8 另请参见 1.9 思考 1.9.1 深入思考 1.9.2 结合自己 第2章 精心布局——源代码的版面和样式 2.1 什么是关键 2.2 了解你的读者 2.3 什么是好的样式 2.4 使用括号 2.4.1 K&R括号风格 2.4.2 悬挂式的括号风格 2.4.3 缩进的括号风格 2.4.4 其他的括号风格 2.5 主宰一切的风格 2.6 内部风格(以及在哪里使用它们) 2.7 设立标准 2.8 正义的战争 2.9 总结 2.10 另请参见 2.11 思考 2.11.1 深入思考 2.11.2 结合自己 第3章 名正言顺——为有意义的事物起有意义的名称 3.1 为什么我们应该恰当地命名呢 3.2 我们对什么进行命名 3.3 名字游戏 3.3.1 描述性 3.3.2 技术上正确 3.3.3 符合语言习惯 3.3.4 恰当 3.4 具体细节 3.4.1 命名变量 3.4.2 命名函数 3.4.3 命名类型 3.4.4 命名名字空间 3.4.5 命名宏 3.4.6 命名文件 3.5 玫瑰不叫玫瑰 3.5.1 保持前后一致 3.5.2 利用上下文 3.5.3 使用对你有利的名称 3.6 总结 3.7 另请参见 3.8 思考 3.8.1 深入思考 3.8.2 结合自己 第4章 不言自明——编写“自文档化”代码的技巧 4.1 自文档化的代码 4.2 编写自文档化代码的技术 4.2.1 使用好的样式编写简单的代码 4.2.2 选择有意义的名称 4.2.3 分解为原子函数 4.2.4 选择描述性的类型 4.2.5 命名常量 4.2.6 强调重要的代码 4.2.7 分组相关信息 4.2.8 提供文件头 4.2.9 恰当地处理错误 4.2.10 编写有意义的注释 4.3 实用的自文档化方法 4.3.1 文学性编程 4.3.2 文档化工具 4.4 总结 4.5 另请参见 4.6 思考 4.6.1 深入思考 4.6.2 结合自己 第5章 随篇注释——如何编写代码注释 5.1 什么是代码注释 5.2 注释看上去是什么样的 5.3 多少注释是恰当的 5.4 注释中应该有些什么 5.4.1 解释为什么,而不是怎么样 5.4.2 不要描述代码 5.4.3 不要取代代码 5.4.4 确保注释有用 5.4.5 避免分心 5.5 实践 5.6 从审美的角度看注释 5.6.1 一致性 5.6.2 清晰的块注释 5.6.3 缩进的注释 5.6.4 行尾注释 5.6.5 帮助你阅读代码 5.6.6 选择一种维护成本较低的风格 5.6.7 分隔板 5.6.8 标志 5.6.9 文件头注释 5.7 使用注释 5.7.1 帮助你编写例行程序 5.7.2 错误修正通告 5.7.3 注释过时 5.7.4 维护和空洞无物的注释 5.8 总结 5.9 另请参见 5.10 思考 5.10.1 深入思考 5.10.2 结合自己 第6章 人非圣贤——处理不可避免的情况——代码中的错误情形 6.1 从何而来 6.2 错误报告机制 6.2.1 不报告 6.2.2 返回值 6.2.3 错误状态变量 6.2.4 异常 6.2.5 信号 6.3 检测错误 6.4 处理错误 6.4.1 何时处理错误 6.4.2 可能的反应 6.4.3 代码示例 6.5 使地狱浮现 6.6 管理错误 6.7 总结 6.8 另请参见 6.9 思考 6.9.1 深入思考 6.9.2 结合自己 第Ⅱ篇 代码的神秘生命 第7章 欲善其事,先利其器——使用工具构建软件 7.1 什么是软件工具 7.2 为什么要在意工具 7.3 使工具发挥作用 7.3.1 了解它能做些什么 7.3.2 学习如何驾驭它 7.3.3 了解它适合什么任务 7.3.4 检查它是否可用 7.3.5 找到了解更多信息的途径 7.3.6 查明新版本何时出现 7.4 哪个工具 7.4.1 源代码编辑工具 7.4.2 代码构建工具 7.4.3 调试和调查工具 7.4.4 语言支持工具 7.4.5 其他工具 7.5 总结 7.6 另请参见 7.7 思考 7.7.1 深入思考 7.7.2 结合自己 第8章 测试时代——测试代码的魔术 8.1 反思现实 8.2 谁、是什么、何时以及为什么 8.2.1 我们为什么要测试 8.2.2 谁来进行测试 8.2.3 测试的内容有些什么 8.2.4 何时进行测试 8.3 测试并不难…… 8.4 测试的类型 8.5 选择单元测试用例 8.6 为测试而设计 8.7 看!不要用手! 8.8 面对故障该怎么办 8.9 你能管理它吗 8.9.1 缺陷跟踪系统 8.9.2 bug审查 8.10 总结 8.11 另请参见 8.12 思考 8.12.1 深入思考 8.12.2 结合自己 第9章 寻找缺陷——调试:当事情进展得不顺利时该怎么办 9.1 生活的真相 9.2 bug的种类 9.2.1 从远处看 9.2.2 从近处看 9.2.3 从更近处看 9.3 消灭害虫 9.3.1 地下之路 9.3.2 地上之路 9.4 搜寻bug 9.4.1 编译时错误 9.4.2 运行时错误 9.5 如何修正缺陷 9.6 预防 9.7 除蜂剂、驱虫剂、捕蝇纸 9.7.1 调试器 9.7.2 内存访问校验器 9.7.3 系统调用跟踪 9.7.4 内核转储 9.7.5 日志 9.8 总结 9.9 另请参见 9.10 思考 9.10.1 深入思考 9.10.2 结合自己 第10章 代码构建——将源代码转换为可执行代码的过程 10.1 语言障碍 10.1.1 解释型语言 10.1.2 编译型语言 10.1.3 字节编译型语言 10.2 小题大做 10.3 构建软件版本 10.4 怎样才算是一个优秀的构建系统 10.4.1 简洁 10.4.2 一致 10.4.3 可重复和可靠 10.4.4 原子性 10.4.5 能够应付错误 10.5 技术细节 10.5.1 目标的选择 10.5.2 内务处理 10.5.3 依赖关系 10.5.4 自动构建 10.5.5 构建配置 10.5.6 递归地使用make 10.6 请发布我吧 10.7 构建大师是全能的吗 10.8 总结 10.9 另请参见 10.10 思考 10.10.1 深入思考 10.10.2 结合自己 第11章 追求速度——优化程序和编写高效的代码 11.1 优化是什么 11.2 是什么使代码不尽如人意 11.3 为什么不进行优化呢 备选方案 11.4 为什么要进行优化 11.5 优化的具体细节 11.5.1 证明你需要进行优化 11.5.2 找出运行得最慢的代码 11.5.3 测试代码 11.5.4 优化代码 11.5.5 优化之后 11.6 优化的技术 11.6.1 设计更改 11.6.2 代码更改 11.7 编写高效的代码 11.8 总结 11.9 另请参见 11.10 思考 11.10.1 深入思考 11.10.2 结合自己 第12章 不安全感综合症——编写安全的程序 12.1 危险 12.2 敌人 12.3 借口,都是借口 12.4 感到很脆弱 12.4.1 不安全的设计和体系结构 12.4.2 缓冲溢出 12.4.3 嵌入的查询字符串 12.4.4 竞争状况 12.4.5 整数溢出 12.5 防范措施 12.5.1 系统安装技术 12.5.2 软件设计技术 12.5.3 代码实现技术 12.5.4 规程技术 12.6 总结 12.7 另请参见 12.8 思考 12.8.1 深入思考 12.8.2 结合自己 第Ⅲ篇 代码的形成过程 第13章 崇尚设计——如何创作出优秀的软件设计 13.1 边设计边编程 13.2 我们要设计什么 13.3 为什么这么忙乱 13.4 良好的软件设计 13.4.1 简洁 13.4.2 优雅 13.4.3 模块化 13.4.4 良好的接口 13.4.5 可扩展性 13.4.6 避免重复 13.4.7 可移植性 13.4.8 符合语言习惯 13.4.9 良好地文档化 13.5 如何设计代码 13.5.1 设计方法和过程 13.5.2 设计工具 13.6 总结 13.7 另请参见 13.8 思考 13.8.1 深入思考 13.8.2 结合自己 ... 第Ⅵ篇 从高处鸟瞰 第22章 程序秘方——代码开发的方法和过程 22.1 编程风格 22.1.1 结构化编程 22.1.2 面向对象的程序设计 22.1.3 函数式编程 22.1.4 逻辑编程 22.2 烹饪方法:做什么与怎样做 22.3 开发过程 22.3.1 混乱 22.3.2 瀑布模型 22.2.3 SSADM和PRINCE 22.3.4 V模型 22.3.5 原型设计 22.3.6 迭代和增量开发 22.3.7 螺旋模型 22.3.8 敏捷的方法 22.3.9 其他开发过程 22.4 已经够了! 22.5 选择一种过程 22.6 总结 22.7 另请参见 22.8 思考 22.8.1 深入思考 22.8.2 结合自己 第23章 编程领域大观——不同的编程分支 23.1 应用程序编程 23.1.1 塑装软件 23.1.2 定制应用程序 23.2 游戏编程 23.3 系统编程 23.4 嵌入式编程 23.5 分布式编程 23.6 网络应用程序编程 23.7 企业编程 23.8 数字编程 23.9 那又怎样 23.10 总结 23.11 另请参见 23.12 思考 23.12.1 深入思考 23.12.2 结合自己 第24章 下一步呢——结果好就一切都好

    0
    0
    179.01MB
    2018-05-05
    2
  • 编程匠艺:编写卓越的代码 PDF中文 (1/2)

    Code Craft: The Practice of Writing Excellent Code 如果你可以编写出合格的代码,但是想更进一步、创作出组织良好而且易于理解的代码,并希望成为一名真正的编程专家或提高现有的职业技能,那么《编程匠艺——编写卓越的代码》都会为你给出答案。本书的内容遍及编程的各个要素,如代码风格、变量命名、错误处理和安全性等。此外,本书还对一些更广泛的编程问题进行了探讨,如有效的团队合作、开发过程和文档编写,等等。本书各章的末尾均提供一些思考问题,这些问题回顾了各章中的一些关键概念,可以促使你像专家一样思考,从而使本书成为那些渴望作为团队的一分子,职业并高效地编程的新手们的一本绝佳的参考书。 Pete Goodliffe是一位软件开发专家,他在软件“食物链”上从未驻足不前。他在各种各样的项目中使用过许多种语言。他还在教授和指导程序员方面有着丰富的经验,并且常年为ACCU的C Vu杂志(www.accu.org)撰写栏目“编程的职业化”。 Pete痴迷于编写出色的、没有错误的代码,这使得他有更多的时间与自己的孩子共度美好时光。..... 译者序 著名国画大师齐白石在年轻的时候,曾经做过木匠。据说有一次他和师傅去给地主干活,在路上迎面走来另外一对木匠师徒。齐先生的师傅说,赶紧给别人让路。师徒俩站在路边,老师恭敬地目送那两人渐渐走远。齐白石不解,问师傅:同是木匠,你我师徒为什么要给他们让路。老师傅回头说:为什么?别人是做细活的,我们是做粗活的。 Pete Goodliffe在业界的年头快要超过好多人的年龄了,此君曾经涉猎多个领域、不同的编程语言以及多种架构,并且曾经在采用不相同流程的公司里从事开发。在本书中,他把多年压箱底的一些观念想法和技巧告诉了大家,这些都是时间与智慧的结合,相信无论是开发人员、项目经理甚至测试人员,都可以从中发现阿里巴巴开启金库的钥匙。 那么本书有什么特色呢?对于想了解内容的普通读者来说,本书至少有以下特点:.. 1.贴近实际 《编程匠艺——编写卓越的代码》是本书的书名,但也是作者的用心所在。人生有三个境界,最后一个就是“看山是山,看水是水”。这是废话吗?当然不是,作者对此给出了最好的解答。作为程序员,我们最喜欢争论不同工具、平台、方法之间的优劣。而作者却通过多年经验,力图告诉我们应该如何提高质量,并成为一名优秀的程序员。这些方法就像点石成金的手指,它们是方法论,而不是针对具体的工具或者平台的说教。我们现在所缺的,恰恰是这些能使自己更进一阶的手段,而不是那些特殊的技术细节。 2.内容丰富翔实 很少有一本书能涵盖如此多的领域,并且还如此扎实。作为一名程序员,我们可能永远无法达到完美。而需要处于一种持续不断地提高的状态,总会有更多的东西需要学习。那么下一步应该做什么呢?这里就有答案。 3.可作为“秘要心法” 本书不仅适合入门者,也适合需要提高的开发人员,以及那些想管理好所谓代码猴子的项目经理们。与《项目经理案头手册》一样,这本书也将成为每人的案头手册或者枕边书,可以作为应急或者提升的手段。如果以后碰到了问题,可以随时参阅相关的章节。 4.心态决定一切 这句话对吗?有了良好心态,不一定行,如果没有,肯定不行。我们常常羡慕于老外以四五十岁的年纪仍然能继续从事编程,为什么我们不行呢?可能不同的读者都会找到属于自己的答案!Pete Goodliffe具有宽阔的视野,扎实的基础,广泛的爱好,带有一种程序员应该具有的高雅和恬淡。这正是我们这个浮躁的时代中积极探索的一代程序员所不具备的。 最后禁不住要抱怨一下,作者Pete Goodliffe以他丰富的阅历和爱好,给译者带来了不小的麻烦,比如出于它对于音乐的爱好,所有章节的标题都来自英国的歌曲名称。为了理解上的直观,我们在翻译的过程中采取的是“信达雅”中的“雅”,以保证国内读者能很快切入主题。本书每章开始和行文的过程中,作者都引用了历史上或者现在社会中一些名人的名言,这给翻译增加了不少的难度,但是由于贴切精辟,这些名言也可称之为点睛之笔。尤为值得高兴的是,此君对我中华文化竟然也有一定的造诣,孔夫子和老子的哲理名言竟然多次出现,而且能够贴切地表达出这些圣人的思想对软件开发有哪些启示,这非常不简单,难为了作者,也着实难为了译者。从外国作者的笔下,让我们着实体会到了自己国家的文化源远流长。这从一个侧面也体现出东海西海,千圣一心。 此书给了我们一个快速成功进阶的好范例。我觉得它更像一个程序员的入门或者修行心法。从此入门,我们可以少走很多弯路。同时,我们也要争取像佛经中“般若波罗密”所讲的那样:大智慧到彼岸,最后连佛法也像渡河的筏子一样,成佛后立即丢弃。我更希望的是,看过此书的读者们,最后能够拍案而起,大声说:我可以了。... 目录: 第Ⅰ篇 代码表面第一部分 第1章 善于防守——健壮代码的防御性编程技巧 1.1 向优秀的代码前进 1.2 设想:最坏的选择 1.3 什么是防御性编程 1.4 又大又坏的世界 1.5 防御性编程技巧 1.5.1 使用好的编码风格和合理的设计 1.5.2 不要仓促地编写代码 1.5.3 不要相信任何人 1.5.4 编码的目标是清晰,而不是简洁 1.5.5 不要让任何人做他们不该做的修补工作 1.5.6 编译时打开所有警告开关 1.5.7 使用静态分析工具 1.5.8 使用安全的数据结构 1.5.9 检查所有的返回值 1.5.10 审慎地处理内存(和其他宝贵的资源) 1.5.11 在声明位置初始化所有变量 1.5.12 尽可能推迟一些声明变量 1.5.13 使用标准语言工具 . 1.5.14 使用好的诊断信息日志工具 1.5.15 审慎地进行强制转换 1.5.16 细则 1.6 约束 1.6.1 约束的内容 1.6.2 移除约束 1.7 总结 1.8 另请参见 1.9 思考 1.9.1 深入思考 1.9.2 结合自己 第2章 精心布局——源代码的版面和样式 2.1 什么是关键 2.2 了解你的读者 2.3 什么是好的样式 2.4 使用括号 2.4.1 K&R括号风格 2.4.2 悬挂式的括号风格 2.4.3 缩进的括号风格 2.4.4 其他的括号风格 2.5 主宰一切的风格 2.6 内部风格(以及在哪里使用它们) 2.7 设立标准 2.8 正义的战争 2.9 总结 2.10 另请参见 2.11 思考 2.11.1 深入思考 2.11.2 结合自己 第3章 名正言顺——为有意义的事物起有意义的名称 3.1 为什么我们应该恰当地命名呢 3.2 我们对什么进行命名 3.3 名字游戏 3.3.1 描述性 3.3.2 技术上正确 3.3.3 符合语言习惯 3.3.4 恰当 3.4 具体细节 3.4.1 命名变量 3.4.2 命名函数 3.4.3 命名类型 3.4.4 命名名字空间 3.4.5 命名宏 3.4.6 命名文件 3.5 玫瑰不叫玫瑰 3.5.1 保持前后一致 3.5.2 利用上下文 3.5.3 使用对你有利的名称 3.6 总结 3.7 另请参见 3.8 思考 3.8.1 深入思考 3.8.2 结合自己 第4章 不言自明——编写“自文档化”代码的技巧 4.1 自文档化的代码 4.2 编写自文档化代码的技术 4.2.1 使用好的样式编写简单的代码 4.2.2 选择有意义的名称 4.2.3 分解为原子函数 4.2.4 选择描述性的类型 4.2.5 命名常量 4.2.6 强调重要的代码 4.2.7 分组相关信息 4.2.8 提供文件头 4.2.9 恰当地处理错误 4.2.10 编写有意义的注释 4.3 实用的自文档化方法 4.3.1 文学性编程 4.3.2 文档化工具 4.4 总结 4.5 另请参见 4.6 思考 4.6.1 深入思考 4.6.2 结合自己 第5章 随篇注释——如何编写代码注释 5.1 什么是代码注释 5.2 注释看上去是什么样的 5.3 多少注释是恰当的 5.4 注释中应该有些什么 5.4.1 解释为什么,而不是怎么样 5.4.2 不要描述代码 5.4.3 不要取代代码 5.4.4 确保注释有用 5.4.5 避免分心 5.5 实践 5.6 从审美的角度看注释 5.6.1 一致性 5.6.2 清晰的块注释 5.6.3 缩进的注释 5.6.4 行尾注释 5.6.5 帮助你阅读代码 5.6.6 选择一种维护成本较低的风格 5.6.7 分隔板 5.6.8 标志 5.6.9 文件头注释 5.7 使用注释 5.7.1 帮助你编写例行程序 5.7.2 错误修正通告 5.7.3 注释过时 5.7.4 维护和空洞无物的注释 5.8 总结 5.9 另请参见 5.10 思考 5.10.1 深入思考 5.10.2 结合自己 第6章 人非圣贤——处理不可避免的情况——代码中的错误情形 6.1 从何而来 6.2 错误报告机制 6.2.1 不报告 6.2.2 返回值 6.2.3 错误状态变量 6.2.4 异常 6.2.5 信号 6.3 检测错误 6.4 处理错误 6.4.1 何时处理错误 6.4.2 可能的反应 6.4.3 代码示例 6.5 使地狱浮现 6.6 管理错误 6.7 总结 6.8 另请参见 6.9 思考 6.9.1 深入思考 6.9.2 结合自己 第Ⅱ篇 代码的神秘生命 第7章 欲善其事,先利其器——使用工具构建软件 7.1 什么是软件工具 7.2 为什么要在意工具 7.3 使工具发挥作用 7.3.1 了解它能做些什么 7.3.2 学习如何驾驭它 7.3.3 了解它适合什么任务 7.3.4 检查它是否可用 7.3.5 找到了解更多信息的途径 7.3.6 查明新版本何时出现 7.4 哪个工具 7.4.1 源代码编辑工具 7.4.2 代码构建工具 7.4.3 调试和调查工具 7.4.4 语言支持工具 7.4.5 其他工具 7.5 总结 7.6 另请参见 7.7 思考 7.7.1 深入思考 7.7.2 结合自己 第8章 测试时代——测试代码的魔术 8.1 反思现实 8.2 谁、是什么、何时以及为什么 8.2.1 我们为什么要测试 8.2.2 谁来进行测试 8.2.3 测试的内容有些什么 8.2.4 何时进行测试 8.3 测试并不难…… 8.4 测试的类型 8.5 选择单元测试用例 8.6 为测试而设计 8.7 看!不要用手! 8.8 面对故障该怎么办 8.9 你能管理它吗 8.9.1 缺陷跟踪系统 8.9.2 bug审查 8.10 总结 8.11 另请参见 8.12 思考 8.12.1 深入思考 8.12.2 结合自己 第9章 寻找缺陷——调试:当事情进展得不顺利时该怎么办 9.1 生活的真相 9.2 bug的种类 9.2.1 从远处看 9.2.2 从近处看 9.2.3 从更近处看 9.3 消灭害虫 9.3.1 地下之路 9.3.2 地上之路 9.4 搜寻bug 9.4.1 编译时错误 9.4.2 运行时错误 9.5 如何修正缺陷 9.6 预防 9.7 除蜂剂、驱虫剂、捕蝇纸 9.7.1 调试器 9.7.2 内存访问校验器 9.7.3 系统调用跟踪 9.7.4 内核转储 9.7.5 日志 9.8 总结 9.9 另请参见 9.10 思考 9.10.1 深入思考 9.10.2 结合自己 第10章 代码构建——将源代码转换为可执行代码的过程 10.1 语言障碍 10.1.1 解释型语言 10.1.2 编译型语言 10.1.3 字节编译型语言 10.2 小题大做 10.3 构建软件版本 10.4 怎样才算是一个优秀的构建系统 10.4.1 简洁 10.4.2 一致 10.4.3 可重复和可靠 10.4.4 原子性 10.4.5 能够应付错误 10.5 技术细节 10.5.1 目标的选择 10.5.2 内务处理 10.5.3 依赖关系 10.5.4 自动构建 10.5.5 构建配置 10.5.6 递归地使用make 10.6 请发布我吧 10.7 构建大师是全能的吗 10.8 总结 10.9 另请参见 10.10 思考 10.10.1 深入思考 10.10.2 结合自己 第11章 追求速度——优化程序和编写高效的代码 11.1 优化是什么 11.2 是什么使代码不尽如人意 11.3 为什么不进行优化呢 备选方案 11.4 为什么要进行优化 11.5 优化的具体细节 11.5.1 证明你需要进行优化 11.5.2 找出运行得最慢的代码 11.5.3 测试代码 11.5.4 优化代码 11.5.5 优化之后 11.6 优化的技术 11.6.1 设计更改 11.6.2 代码更改 11.7 编写高效的代码 11.8 总结 11.9 另请参见 11.10 思考 11.10.1 深入思考 11.10.2 结合自己 第12章 不安全感综合症——编写安全的程序 12.1 危险 12.2 敌人 12.3 借口,都是借口 12.4 感到很脆弱 12.4.1 不安全的设计和体系结构 12.4.2 缓冲溢出 12.4.3 嵌入的查询字符串 12.4.4 竞争状况 12.4.5 整数溢出 12.5 防范措施 12.5.1 系统安装技术 12.5.2 软件设计技术 12.5.3 代码实现技术 12.5.4 规程技术 12.6 总结 12.7 另请参见 12.8 思考 12.8.1 深入思考 12.8.2 结合自己 第Ⅲ篇 代码的形成过程 第13章 崇尚设计——如何创作出优秀的软件设计 13.1 边设计边编程 13.2 我们要设计什么 13.3 为什么这么忙乱 13.4 良好的软件设计 13.4.1 简洁 13.4.2 优雅 13.4.3 模块化 13.4.4 良好的接口 13.4.5 可扩展性 13.4.6 避免重复 13.4.7 可移植性 13.4.8 符合语言习惯 13.4.9 良好地文档化 13.5 如何设计代码 13.5.1 设计方法和过程 13.5.2 设计工具 13.6 总结 13.7 另请参见 13.8 思考 13.8.1 深入思考 13.8.2 结合自己 ... 第Ⅵ篇 从高处鸟瞰 第22章 程序秘方——代码开发的方法和过程 22.1 编程风格 22.1.1 结构化编程 22.1.2 面向对象的程序设计 22.1.3 函数式编程 22.1.4 逻辑编程 22.2 烹饪方法:做什么与怎样做 22.3 开发过程 22.3.1 混乱 22.3.2 瀑布模型 22.2.3 SSADM和PRINCE 22.3.4 V模型 22.3.5 原型设计 22.3.6 迭代和增量开发 22.3.7 螺旋模型 22.3.8 敏捷的方法 22.3.9 其他开发过程 22.4 已经够了! 22.5 选择一种过程 22.6 总结 22.7 另请参见 22.8 思考 22.8.1 深入思考 22.8.2 结合自己 第23章 编程领域大观——不同的编程分支 23.1 应用程序编程 23.1.1 塑装软件 23.1.2 定制应用程序 23.2 游戏编程 23.3 系统编程 23.4 嵌入式编程 23.5 分布式编程 23.6 网络应用程序编程 23.7 企业编程 23.8 数字编程 23.9 那又怎样 23.10 总结 23.11 另请参见 23.12 思考 23.12.1 深入思考 23.12.2 结合自己 第24章 下一步呢——结果好就一切都好

    0
    0
    141.15MB
    2018-05-05
    2
  • C#高级编程第四版 PDF中文版

    C#经典名著!也是Wrox红皮书中最畅销的品种之一,从第一版开始就名满天下;其第3版被中华读书报、CSDN、《程序员》等机构评选为2005年最权威的十大IT图书之一(第2名);在中国版协、中国出版科学研究所、《出版参考》杂志组织的“2005年度输出版、引进版优秀图书”评选活动中获得“2005年度引进版科技类优秀图书”奖。第4版面向C# 2005,在全面展示.NET新特性的同时继续完善原有的内容,是有一些C#基础知识的学习者或者想迁移到C#的其他程序员全面掌握C#的首选教程。 C#和.NET全面革新了编写程序的方式。本书以最新的.NET Framework 2.0和Visual Studio 2005为基础,全面介绍了C#编程的工具,提供了理解.NET体系结构的工作原理所必需的背景知识。本书首先探讨了C#的基础知识,包括基本语法、数据类型和面向对象的特性。接着阐述了如何把该语句应用于各种使用相关技术的应用程序,例如数据库访问和高级绘图技术。这种方式有助于对C#语言的各个方面进行深入细致的理解,以专业人员的方式开始编程。 本书涵盖的内容有助于编写动态WEB页面、XML WEB服务、分布式应用程序的组件,以及Windows桌面应用程序等。 C#高级编程(第四版)中文版 目 录 第Ⅰ部分 C#语言 第1章 .NET体系结构 第2章 C#基础 第3章 对象和类型 第4章 继承 第5章 运算符和类型强制转换 第6章 委托和事件 第7章 内存管理和指针 第8章 字符串和正则表达式 第9章 集合 第10章 泛型 第11章 反射 第12章 错误和异常 第13章 线程 第Ⅱ部分 .NET环境 第14章 Visual Studio 2005 第15章 程序集 第16章 .NET的安全性 第17章 本地化 第18章 部署 第Ⅲ部分 数 第19章 .NET数据访问 第20章 .NET编程和 第21章 处理XML 第22章 使用Active Directory 第Ⅳ部分 Windows应用程序 第23章 Windows窗体 第24章 查看.NET数据 第25章 使用GDI+绘图 第Ⅴ部分 Web应用程序 第26章 ASP.NET页面 第27章 ASP.NET开发 第Ⅵ部分 通信 第28章 Web服务 第29章 .NET Remoting 第30章 Enterprise Services 第31章 消息队列 第32章 分布式编程的未来产品 第Ⅶ部分 互操作性 第33章 COM的互操作性 第Ⅷ部分 Windows基本服务 第34章 文件和注册表操作 第35章 访问Internet 第36章 Windows服务

    0
    0
    108.95MB
    2018-05-05
    8
  • 《iPhone开发基础教程》中文版

    iPhone是一种全新的移动平台,苹果公司为它推出了强大的软件开发工具包iPhone SDK。本书是一部关于iPhone SDK和iPhone开发的基础教程,内容翔实、语言生动。书中结合消费类设备上常见的实例,循序渐进地讲解了iPhone开发的基本流程,并介绍了最先进、时尚、受欢迎的iPhone特性。    本书内容完整丰富,具有较强的通用性,编程领域中各层次读者都能通过本书快速学习iPhone开发,提高相关技能。 Dave Mark,深受爱戴的Apple技术开发专家,具有多年开发经验。他是许多Mac平台畅销书的作者,包括Learn C on the Mac、Macintosh Programming Primer系列以及Ultimate Mac Programming。

    0
    77
    72.51MB
    2018-05-05
    3
关注 私信
上传资源赚积分or赚钱