完美代码

完美代码
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Marshall D.)
2010-01
版次: 1
ISBN: 9787111292401
定价: 45.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 229页
正文语种: 简体中文
9人买过
  • 本书简单明了地介绍了软件开发中的最佳实践,展示了工程流程在编写优质代码上的重要性以及测试的重要性,总结了很多资深工程师的经验教训,并提供了很多真实案例。书中介绍的经验可以应用到产品开发周期的每个环节,从设计到开发以及最后的发布和维护。本书的中心思想就是要在设计和实现的过程中改进代码质量,包括类建模、性能、安全性、内存使用以及调试,帮助读者构建完美的项目。本书适合专业及业余程序员阅读。
    采用一流的工程实践来帮助你编写更健壮、无错的代码。两位微软的.NET开发专家与你分享优化软件开发生命周期的真实案例和经过实战考验的解决方案——从避免代价昂贵的编程陷阱,到提高开发团队整体效率的方法等。无论你是来自哪个层次的托管代码程序员,都能在这里找到设计、原型开发、实现、调试以及测试的技巧,进一步提升代码的品质。
    本书涉及开发流程中每一个阶段的优化(从设计到测试),以及如何开发出更优质的应用程序软件:
    通过元编程来降低代码的复杂度,同时还能增加灵活性和可维护性。
    把性能当做一项功能,并且在开发周期中对它进行管理。
    为应用程序的伸缩性采取各种最佳实践。
    通过预防性的安全措施来抵御各种恶意攻击。
    在运行之前通过防御性编程来捕捉错误。
    在每日工程流程里植入自动化构建、代码分析和测试等工作。
    实现更好的源码控制管理和提交流程。
    建立一套质量驱动、基于里程碑的项目节奏,并最终产生更好的结果。 DonisMarshall是Debuglive.com的CEO,他管理的专家软件工程师团队开发出第一个基于Web的Windows应用程序调试器。凭借20年的开发经验以及深厚的微软.NET背景,他编写了好几本书,其中包括《ProgrammingMicrosoftVisualC#2008:TheLanguageand.NETSecurityProgramming》。Donis还是一名培训师和咨询师,专门讲授并主持关于.NET编程、调试、安全性以及设计和架构的研讨会。
    JohnBruno是微软的资深程序经理,有着超过10年的应用开发经验,他擅长使用微软.NET技术来设计并构建可扩展的Web应用和服务。加入微软以来,John对WindowsLive的发布起到重要作用,同时他还负责WindowsLiveSpaces的服务架构和程序员平台,WindowsLiveSpaces目前在全世界的用户数超过了1亿。现在他的主要精力都放在了开发WindowsMobile下一代Web服务上。 专家推荐

    前言
    第1章敏捷世界里的代码质量
    1.1软件开发的传统方法
    1.2软件开发的敏捷方法
    1.2.1Scrum
    1.2.2eXtremeProgramming
    1.2.3测试驱动开发
    1.3尽早进行质量控制
    1.4微软内幕:WindowsLiveHotmail工程
    1.4.1工程准则
    1.4.2成功的关键因素
    1.5编写坚实代码的方法
    1.5.1专注设计
    1.5.2防御和调试
    1.5.3分析与测试
    1.5.4改进流程和态度
    1.6总结
    1.7本章要点

    第2章类设计和原型开发
    2.1VisualStudio中的协作
    2.2磨刀不误砍柴工
    2.3软件建模
    2.3.1统一建模语言
    2.3.2Visio示例
    2.4原型开发
    2.5跟踪
    2.6VisualStudio类设计器
    2.6.1创建一个类图
    2.6.2使用类设计器进行原型开发
    2.6.3原型开发示例
    2.7总结
    2.8本章要点

    第3章元编程
    3.1什么是元数据
    3.2托管应用里的元数据
    3.3应用程序中的元数据
    3.4微软内幕:WindowsLiveSpaces中的配置管理
    3.5总结
    3.6本章要点

    第4章性能也是功能
    4.1常见的性能难点
    4.1.1网络延时
    4.1.2负载大小和网络往返时延
    4.1.3受限的TCP连接
    4.1.4未优化的代码
    4.2分析应用程序性能
    4.3提升Web应用性能的技巧
    4.3.1减小负载大小
    4.3.2有效利用缓存
    4.3.3优化网络通信
    4.3.4为性能组织编写代码
    4.4采用性能最佳实践
    4.5微软内幕:解决LiveSearch的性能问题
    4.5.1Web性能准则
    4.5.2成功的关键要素
    4.6总结
    4.7本章要点

    第5章伸缩性设计
    5.1理解应用程序伸缩性
    5.1.1伸缩性之路
    5.1.2数据库的伸缩性
    5.2伸缩Web应用程序的技巧
    5.2.1选择可伸缩的应用程序设计
    5.2.2设计可伸缩的应用程序基础设施
    5.2.3抵御应用程序故障
    5.2.4保证可管理性和可维护性
    5.3微软内幕:管理WindowsLiveMessenger服务基础设施
    5.4总结
    5.5本章要点

    第6章安全性设计和实现
    6.1常见的应用程序安全威胁
    6.2设计安全的应用程序的原则
    6.3安全的应用程序的SD3+C策略和实践
    6.3.1设计上的安全性
    6.3.2默认值的安全性
    6.3.3部署和通信中的安全性
    6.4理解.NET框架的安全性原则
    6.4.1运行时安全策略
    6.4.2代码访问安全
    6.4.3应用运行时安全策略
    6.5其他安全性最佳实践
    6.6总结
    6.7本章要点

    第7章托管内存模型
    7.1托管堆
    7.2垃圾回收
    7.2.1原生对象的托管包裹
    7.2.2GC类
    7.2.3大型对象堆
    7.3终止
    7.3.1不确定的垃圾回收
    7.3.2可丢弃对象
    7.3.3丢弃模式
    7.3.4弱引用
    7.4固定
    7.5托管堆的技巧
    7.6CLRProfiler
    7.7总结
    7.8本章要点

    第8章防御式编程
    8.1防御式编程和C#
    8.2警告
    8.3代码检查
    8.4软件测试
    8.4.1测试驱动开发
    8.4.2代码覆盖
    8.4.3自我描述的代码
    8.4.4命名规则
    8.4.5伪代码
    8.4.6注释
    8.5用类实现防御式编程
    8.5.1修饰符
    8.5.2接口
    8.6防御式编程小结
    8.7设计模式
    8.8总结
    8.9本章要点

    第9章调试
    9.1溢出bug
    9.2PentiumFDIVbug
    9.3符号
    9.3.1符号服务器
    9.3.2源码服务器
    9.4抢先式调试
    9.5主动型调试
    9.5.1托管调试助手
    9.5.2MDA举例
    9.5.3代码分析
    9.5.4性能监视
    9.6调试
    9.7调试工具
    9.7.1VisualStudio
    9.7.2.NET框架工具
    9.7.3Windows调试工具
    9.7.4CLRProfiler
    9.7.5Sysinternals
    9.8跟踪
    9.8.1Web应用程序跟踪
    9.8.2异常处理
    9.9生产调试
    9.10总结
    9.11本章要点

    第10章代码分析
    10.1投资测试过程
    10.1.1定义测试的节奏
    10.1.2建立测试工作项的跟踪
    10.2采用自动化的代码分析
    10.2.1使用静态代码分析工具
    10.2.2编写应用程序测试代码
    10.2.3使用VisualStudio进行测试
    10.3通过度量来理解质量
    10.3.1衡量代码的复杂度和可维护性
    10.3.2通过透视来理解质量
    10.4微软内幕:Microsoft.com的Web分析平台的质量管理
    10.4.1代码质量的重要性
    10.4.2测试投资
    10.4.3管理质量
    10.5总结
    10.6本章要点

    第11章改进工程流程
    11.1工程流程改进的技巧
    11.1.1建立起关注质量的项目节奏
    11.1.2实现源码控制和提交流程
    11.1.3每日发布和测试代码
    11.1.4自动化每日构建
    11.1.5使用MSBuild
    11.1.6创建并执行质量指标
    11.2总结
    11.3本章要点

    第12章态度决定一切
    12.1激情
    12.2线性还是迭代
    12.3销售为王
    12.4灵活性
    12.5解决实际问题
    12.6你要负责
    12.7把移植代码当做新代码来写
    12.8重构
    12.9优先级
    12.10从实际出发
    12.11拥抱变化
    12.12拓展视野
    附录A敏捷开发资源
    附录BWeb性能资源
  • 内容简介:
    本书简单明了地介绍了软件开发中的最佳实践,展示了工程流程在编写优质代码上的重要性以及测试的重要性,总结了很多资深工程师的经验教训,并提供了很多真实案例。书中介绍的经验可以应用到产品开发周期的每个环节,从设计到开发以及最后的发布和维护。本书的中心思想就是要在设计和实现的过程中改进代码质量,包括类建模、性能、安全性、内存使用以及调试,帮助读者构建完美的项目。本书适合专业及业余程序员阅读。
    采用一流的工程实践来帮助你编写更健壮、无错的代码。两位微软的.NET开发专家与你分享优化软件开发生命周期的真实案例和经过实战考验的解决方案——从避免代价昂贵的编程陷阱,到提高开发团队整体效率的方法等。无论你是来自哪个层次的托管代码程序员,都能在这里找到设计、原型开发、实现、调试以及测试的技巧,进一步提升代码的品质。
    本书涉及开发流程中每一个阶段的优化(从设计到测试),以及如何开发出更优质的应用程序软件:
    通过元编程来降低代码的复杂度,同时还能增加灵活性和可维护性。
    把性能当做一项功能,并且在开发周期中对它进行管理。
    为应用程序的伸缩性采取各种最佳实践。
    通过预防性的安全措施来抵御各种恶意攻击。
    在运行之前通过防御性编程来捕捉错误。
    在每日工程流程里植入自动化构建、代码分析和测试等工作。
    实现更好的源码控制管理和提交流程。
    建立一套质量驱动、基于里程碑的项目节奏,并最终产生更好的结果。
  • 作者简介:
    DonisMarshall是Debuglive.com的CEO,他管理的专家软件工程师团队开发出第一个基于Web的Windows应用程序调试器。凭借20年的开发经验以及深厚的微软.NET背景,他编写了好几本书,其中包括《ProgrammingMicrosoftVisualC#2008:TheLanguageand.NETSecurityProgramming》。Donis还是一名培训师和咨询师,专门讲授并主持关于.NET编程、调试、安全性以及设计和架构的研讨会。
    JohnBruno是微软的资深程序经理,有着超过10年的应用开发经验,他擅长使用微软.NET技术来设计并构建可扩展的Web应用和服务。加入微软以来,John对WindowsLive的发布起到重要作用,同时他还负责WindowsLiveSpaces的服务架构和程序员平台,WindowsLiveSpaces目前在全世界的用户数超过了1亿。现在他的主要精力都放在了开发WindowsMobile下一代Web服务上。
  • 目录:
    专家推荐

    前言
    第1章敏捷世界里的代码质量
    1.1软件开发的传统方法
    1.2软件开发的敏捷方法
    1.2.1Scrum
    1.2.2eXtremeProgramming
    1.2.3测试驱动开发
    1.3尽早进行质量控制
    1.4微软内幕:WindowsLiveHotmail工程
    1.4.1工程准则
    1.4.2成功的关键因素
    1.5编写坚实代码的方法
    1.5.1专注设计
    1.5.2防御和调试
    1.5.3分析与测试
    1.5.4改进流程和态度
    1.6总结
    1.7本章要点

    第2章类设计和原型开发
    2.1VisualStudio中的协作
    2.2磨刀不误砍柴工
    2.3软件建模
    2.3.1统一建模语言
    2.3.2Visio示例
    2.4原型开发
    2.5跟踪
    2.6VisualStudio类设计器
    2.6.1创建一个类图
    2.6.2使用类设计器进行原型开发
    2.6.3原型开发示例
    2.7总结
    2.8本章要点

    第3章元编程
    3.1什么是元数据
    3.2托管应用里的元数据
    3.3应用程序中的元数据
    3.4微软内幕:WindowsLiveSpaces中的配置管理
    3.5总结
    3.6本章要点

    第4章性能也是功能
    4.1常见的性能难点
    4.1.1网络延时
    4.1.2负载大小和网络往返时延
    4.1.3受限的TCP连接
    4.1.4未优化的代码
    4.2分析应用程序性能
    4.3提升Web应用性能的技巧
    4.3.1减小负载大小
    4.3.2有效利用缓存
    4.3.3优化网络通信
    4.3.4为性能组织编写代码
    4.4采用性能最佳实践
    4.5微软内幕:解决LiveSearch的性能问题
    4.5.1Web性能准则
    4.5.2成功的关键要素
    4.6总结
    4.7本章要点

    第5章伸缩性设计
    5.1理解应用程序伸缩性
    5.1.1伸缩性之路
    5.1.2数据库的伸缩性
    5.2伸缩Web应用程序的技巧
    5.2.1选择可伸缩的应用程序设计
    5.2.2设计可伸缩的应用程序基础设施
    5.2.3抵御应用程序故障
    5.2.4保证可管理性和可维护性
    5.3微软内幕:管理WindowsLiveMessenger服务基础设施
    5.4总结
    5.5本章要点

    第6章安全性设计和实现
    6.1常见的应用程序安全威胁
    6.2设计安全的应用程序的原则
    6.3安全的应用程序的SD3+C策略和实践
    6.3.1设计上的安全性
    6.3.2默认值的安全性
    6.3.3部署和通信中的安全性
    6.4理解.NET框架的安全性原则
    6.4.1运行时安全策略
    6.4.2代码访问安全
    6.4.3应用运行时安全策略
    6.5其他安全性最佳实践
    6.6总结
    6.7本章要点

    第7章托管内存模型
    7.1托管堆
    7.2垃圾回收
    7.2.1原生对象的托管包裹
    7.2.2GC类
    7.2.3大型对象堆
    7.3终止
    7.3.1不确定的垃圾回收
    7.3.2可丢弃对象
    7.3.3丢弃模式
    7.3.4弱引用
    7.4固定
    7.5托管堆的技巧
    7.6CLRProfiler
    7.7总结
    7.8本章要点

    第8章防御式编程
    8.1防御式编程和C#
    8.2警告
    8.3代码检查
    8.4软件测试
    8.4.1测试驱动开发
    8.4.2代码覆盖
    8.4.3自我描述的代码
    8.4.4命名规则
    8.4.5伪代码
    8.4.6注释
    8.5用类实现防御式编程
    8.5.1修饰符
    8.5.2接口
    8.6防御式编程小结
    8.7设计模式
    8.8总结
    8.9本章要点

    第9章调试
    9.1溢出bug
    9.2PentiumFDIVbug
    9.3符号
    9.3.1符号服务器
    9.3.2源码服务器
    9.4抢先式调试
    9.5主动型调试
    9.5.1托管调试助手
    9.5.2MDA举例
    9.5.3代码分析
    9.5.4性能监视
    9.6调试
    9.7调试工具
    9.7.1VisualStudio
    9.7.2.NET框架工具
    9.7.3Windows调试工具
    9.7.4CLRProfiler
    9.7.5Sysinternals
    9.8跟踪
    9.8.1Web应用程序跟踪
    9.8.2异常处理
    9.9生产调试
    9.10总结
    9.11本章要点

    第10章代码分析
    10.1投资测试过程
    10.1.1定义测试的节奏
    10.1.2建立测试工作项的跟踪
    10.2采用自动化的代码分析
    10.2.1使用静态代码分析工具
    10.2.2编写应用程序测试代码
    10.2.3使用VisualStudio进行测试
    10.3通过度量来理解质量
    10.3.1衡量代码的复杂度和可维护性
    10.3.2通过透视来理解质量
    10.4微软内幕:Microsoft.com的Web分析平台的质量管理
    10.4.1代码质量的重要性
    10.4.2测试投资
    10.4.3管理质量
    10.5总结
    10.6本章要点

    第11章改进工程流程
    11.1工程流程改进的技巧
    11.1.1建立起关注质量的项目节奏
    11.1.2实现源码控制和提交流程
    11.1.3每日发布和测试代码
    11.1.4自动化每日构建
    11.1.5使用MSBuild
    11.1.6创建并执行质量指标
    11.2总结
    11.3本章要点

    第12章态度决定一切
    12.1激情
    12.2线性还是迭代
    12.3销售为王
    12.4灵活性
    12.5解决实际问题
    12.6你要负责
    12.7把移植代码当做新代码来写
    12.8重构
    12.9优先级
    12.10从实际出发
    12.11拥抱变化
    12.12拓展视野
    附录A敏捷开发资源
    附录BWeb性能资源
查看详情
系列丛书 / 更多
完美代码
PHP和MySQL Web开发(原书第4版):PHP and MySQL Web Development, Fourth Edition
[澳]Luke、[澳]Luke Welling 著;武欣 译
完美代码
Objective-C 2.0程序设计
[美]科施恩 著;张波 译
完美代码
软件测试实用技术与常用模板
李龙 著
完美代码
OpenGL编程指南(原书第7版)
[美]施瑞奈尔 著;李军 译
完美代码
PHP和MySQL Web开发
威利、武欣 著
完美代码
测试驱动的面向对象软件开发
[美]弗里曼、[美]普雷斯 著;王海鹏 译
完美代码
Windows高级调试
[美]赫瓦特 著;聂雪军 译
完美代码
成功的软件开发(原书第2版)
多纳尔德森 编;刘列励 译
完美代码
重构:Ruby版
[美]菲尔德斯 著;徐旭铭 译
完美代码
PHP和MySQL Web应用开发核心技术
温施耐德 著
完美代码
测试驱动的JavaScript开发
[美]Christian Johansen 著;赵勇 译
完美代码
Windows并发编程指南
[美]杜飞(Duffy J.) 著;聂雪军 译
相关图书 / 更多
完美代码
完美关系:愿你被这个世界温柔以待
王辉
完美代码
完美孕前准备大百科
史宏晖 编著
完美代码
完美的投资组合
[美]罗闻全(Andrew W. Lo)斯蒂芬·R.福斯特(Stephen R. Foerster) 著;湛庐 出品
完美代码
完美父母计划
英斯图尔特·福斯特/著 刘勇军 译
完美代码
完美产后恢复大百科
马良坤 编著
完美代码
完美牛仔的世界观:库特拉斯关于爱情、艺术、宇宙的种种思考
[西]卡布尼奥 后浪
完美代码
完美世界31 完结册
辰东
完美代码
完美配色:源自四季的配色灵感
宋丹丹 李婵 译;[美]劳伦·韦杰
完美代码
完美耦合(全两册)
九阶幻方
完美代码
完美自我成长记—和一百分交朋友
文翊
完美代码
完美星球 麦克米伦世纪
[美]柯缇斯·曼雷/文 (美)杰西卡·拉南/图 范晓星 译
完美代码
完美一跳
许诺晨
您可能感兴趣 / 更多
完美代码
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
完美代码
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
完美代码
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
完美代码
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
完美代码
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
完美代码
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
完美代码
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
完美代码
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
完美代码
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
完美代码
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
完美代码
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
完美代码
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译