软件预构艺术(中文版)

出版社:东南大学
出版日期:2010-6
ISBN:9787564109066
作者:Ken Pugh
页数:226页

内容概要

Ken Pugh,是Puge-Killen协会主席之一。Ken担任顾问、从事教育培训、担任教师以及出庭提供证词,涉足的科技领域有面向对象设计、Linux/Unix、网络以及系统开发实践。他参与过的项目包括山羊血清流程控制、担保抵押处理软件以及摄影分级。Ken时常在全国会议和区域会议发表演讲,从伦敦到悉尼都有他的客户。不工作时,他喜欢滑雪、冲浪、骑自行车以及到阿帕拉契山径徒步旅行。

书籍目录

前言第一章 预构简介 何谓预构? 三个极致 探索方针 本书的情境第二章 系统纪实 和sam会谈 避免重复创造 名称里有什么? 碎块vs.整块 凝结成块 抽象化 原型值千言第三章 一般开发议题 从大蓝图开始 接口契约 验证 程序代码传达的信息 一致性就是简易性 预构的态度 不要自我重复 把假设和决策形成说明文档 处理误差和错误 速度 电子表格难题 工具只是工具——要善用第四章 大蓝图 系统续论 过程 初始设计 全局规划,局部设计 测试功能 测试品质 安全第五章 撰写类 范畴和类 声明vs.执行 适当的继承 以文本通信 不止一个第六章 再谈类 尊重类箴言 对象的三条定律 需求决定类 多态 一件小差事 原则vs.实现 极致命名 函数的重载第七章 快完成了 我们在哪儿? 关注点的隔离 迁移至新系统第八章 第一个版本 实践见真章  回顾时间 系统实情 操作接口 抽象数据类型 配置 测试 处理误差和错误 预构一下 第一轮发布的初版 实践和理论偶尔不相吻合 剩余的类第九章 关联性和状态 Sam的新需求 以谁为主? 对象的状态第十章 接口和调整 目录搜索用例 设计接口 接口开发 接口测试 接口分割 有东西能用第十一章 邮政编码和接口 调整 把钱交出去 未写的程序代码 间接性 日志记录 范式互斥第十二章 更多的报表 花哨的报表 修改发生了 导出第十三章 发票、信用卡、折扣 下一步 客户的语言 安全和隐私第十四章 Sam在扩张事业 第二家店 新的开发工作 第三家店 再见了,Sam 通用性第十五章 打印服务器范例 简介 系统 消息 168 测试 日志记录 还可以隔离一点 后记第十六章 反垃圾邮件范例 情境 检查垃圾邮件 ReceivingMailServer类 ReceivedMailExaminer类 完整流程第十七章 后记附录一 方针与原则附录二 源代码

编辑推荐

本书作者是经验老道的软件开发人员。书中,作者运用他个人和其他众多开发人员的丰富经验,展示由其推衍而得的各项实践方针。这些方针把优秀的开发人员在设计时隐而未显的考虑细节如实地呈现出来。许多方针都围绕着极致抽象化、极致隔离以及极致可读性这几个概念。在假想的软件项目和实际项目的介绍中,作者把实践方针呈现在读者面前。其中几条于稍后列出。

作者简介

利用经验累积而得到的洞察力开发新的解决方案被称为预构。透过重构而获得的专业知识也属于这类经验,而预构的词源即重构。重构是修改程序或软件系统内部结构的实践,以此在保留其现有行为的基础上改良设计。重构的原因有多种:方便后期增加功能、提高可维护性、提升性能。

本书作者是经验老道的软件开发人员。书中,作者运用他个人和其他众多开发人员的丰富经验,展示由其推衍而得的各项实践方针。这些方针把优秀的开发人员在设计时隐而未显的考虑细节如实地呈现出来。许多方针都围绕着极致抽象化、极致隔离以及极致可读性这几个概念。在假想的软件项目和实际项目的介绍中,作者把实践方针呈现在读者面前。其中几条于稍后列出。

把作者的方针应用到你的软件项目,有助于写出可读性、可维护性更棒的程序。这些方针可以协助你前期决策,以减少后期重构的工作量。在这样的前提下,你可以预测未来,减少修改。简言之,就是程序预构会使你更有效率。

图书封面


 软件预构艺术(中文版)下载 更多精彩书评



发布书评

 
 


精彩书评 (总计4条)

  •     翻译比较差。拿到这本书的时候很奇怪,为什么 O'reaily 的书会交给东南大学出版社出版。全书以一个特定的项目为例,生动地描述了一个CD租赁管理系统的设计的全过程。每章基本上都以用户提出新功能的要求开始,之后二人对其进行详细的讨论。在最后,列出了一些其他系统的设计方案。可能是工作经验所限吧,泛读几遍之后,感觉像是在看故事。对预构这一内容的系统性操作还是没有比较确定的认识。
  •     如果你是初學軟件開發那麽這本書四星,如果是一個有相當經驗的程序員我覺得這書只能給個三星半了。這本書講什麽?這本書主要通過一個CD租賃商店的例子帶你走完一個軟件開發的完整流程,並在這個流程上介紹一些軟件開發的樸素原則,不得不說這些原則的穿插還是很好的。很適合一個將要編寫一個系統但是不知道怎麽著手的人。預構是什麽?預構是相對重搆來説的,它在軟件開發的初始階段通過前人的經驗也就是一些原則來指導軟件開發。名字有什麽問題?首先這個名字多少有點虛張聲勢,誰在開始一項工作前都會從現有的成果出發,這點是毫無疑問的。既然作者要提出"預構"這個很學術化的詞,那麽書中的内容只有一個大的例子是不夠的,需要很多總結過的内容來支撐他的學術體系,内容應該從“預構”這個詞開始更學術化一點,重點應該放在“預構”的難點上,比如一開始需要多大的規模,抽象的層次,選擇什麽樣的工具或者語言等等,總之重點應該放在系統一開始的權衡的難點上。現在只不過通過一個例子來介紹軟件開發的樸素原則顯然很多書都做了,雖然他做的挺好。這點美國亞馬遜上的書評也是如此,都覺得作者這種内容起一個虛張聲勢的名字很不妥,國内書名更是加上“藝術”二字以提高身價更是錯上加錯。
  •     随着阅读的深入,觉得书中的内容和代码大全里的思想有着很多共通的特性。此书以一个CD出租的程序作为样例,把代码构建所需要注意的问题一一拿出讨论。这本书更像是代码大全的一个实践版!

精彩短评 (总计16条)

  •      如果你是初學軟件開發那麽這本書四星,如果是一個有相當經驗的程序員我覺得這書只能給個三星半了。 這本書講什麽?這本書主要通過一個CD租賃商店的例子帶你走完一個軟件開發的完整流程,並在這個流程上介紹一些軟件開發的樸素原則,不得不說這些原則的穿插還是很好的。很適合一個將要編寫一個系統但是不知道怎麽著手的人。 預構是什麽?預構是相對重搆來説的,它在軟件開發的初始階段通過前人的經驗也就是一些原則來指導軟件開發。 名字有什麽問題?首先這個名字多少有點虛張聲勢,誰在開始一項工作前都會從現有的成果出發,這點是毫無疑問的。既然作者要提出"預構"這個很學術化的詞,那麽書中的内容只有一個大的例子是不夠的,需要很多總結過的内容來支撐他的學術體系,内容應該從“預構”這個詞開始更學術化一點,重點應該放在“預構”的難點上,比如一開始需要多大的規模,抽象的層次,選擇什麽樣的工具或者語言等等,總之重點應該放在系統一開始的權衡的難點上。現在只不過通過一個例子來介紹軟件開發的樸素原則顯然很多書都做了,雖然他做的挺好。這點美國亞馬遜上的書評也是如此,都覺得作者這種内容起一個虛張聲勢的名字很不妥,國内書名更是加上“藝術”二字以提高身價更是錯上加錯。
  •       有时间就读几页吧,可以不当作教材或经典来读,事实上它也不是。书中讨论了开发实践中的一些细节上的又常被人们忽略的问题,每个注意事项都单列出来,可以随时总结所读内容,有助于掌握。与一个实际项目结合,是抽象无形的讨论变得通俗易懂了,给人豁然开朗和茅塞顿开之感。推荐之。
  •     越来越觉得计算机书要看原版的。中文版翻译的不好。且看下面这段原文和翻译:Other guidelines revolve around the concepts of Extreme Abstraction, Extreme Separation, and Extreme Readability.其他方针是从极致抽象化、极致隔离以及极致可读性的概念演进而得的。其中revolve around是围绕的意思。估计是看成evolution了吧。建议大家还是买影印版吧,看这种中文版的技术图书我越来越怀疑自己的理解能力了。
  •     边看边学,内容不错
  •     别看一本薄薄小册子,可不简单。我买了还没有收到货。等元旦的时候读一读。
  •     好书。编程之外,还应学点这个。
  •     比较简略,艺术是不是都这样呢?
  •     对书中的例子边看边实现会有更多的收获
  •        如果你是初學軟件開發那麽這本書四星,如果是一個有相當經驗的程序員我覺得這書只能給個三星半了。
       這本書講什麽?這本書主要通過一個CD租賃商店的例子帶你走完一個軟件開發的完整流程,並在這個流程上介紹一些軟件開發的樸素原則,不得不說這些原則的穿插還是很好的。很適合一個將要編寫一個系統但是不知道怎麽著手的人。
       預構是什麽?預構是相對重搆來説的,它在軟件開發的初始階段通過前人的經驗也就是一些原則來指導軟件開發。
       名字有什麽問題?首先這個名字多少有點虛張聲勢,誰在開始一項工作前都會從現有的成果出發,這點是毫無疑問的。既然作者要提出"預構"這個很學術化的詞,那麽書中的内容只有一個大的例子是不夠的,需要很多總結過的内容來支撐他的學術體系,内容應該從“預構”這個詞開始更學術化一點,重點應該放在“預構”的難點上,比如一開始需要多大的規模,抽象的層次,選擇什麽樣的工具或者語言等等,總之重點應該放在系統一開始的權衡的難點上。現在只不過通過一個例子來介紹軟件開發的樸素原則顯然很多書都做了,雖然他做的挺好。這點美國亞馬遜上的書評也是如此,都覺得作者這種内容起一個虛張聲勢的名字很不妥,國内書名更是加上“藝術”二字以提高身價更是錯上加錯。
  •     深入浅出的讲解,通俗易懂
  •     通过一个项目从头到位的过程,来说明软件开发中的设计演变过程,表述了如何应用预构技术,应用设计模式和一些敏捷开发的实践如测试驱动开发等,来进行软件设计和开发。内容比较简单易懂,适合学习敏捷开发,设计模式的时候,同时观看,会对整体的软件设计有一个概念。
  •     没有想象中的有用。对"预构"也没能了解的太多
  •     用一个例子来贯穿设计过程,对于初学者很好
  •       随着阅读的深入,觉得书中的内容和代码大全里的思想有着很多共通的特性。此书以一个CD出租的程序作为样例,把代码构建所需要注意的问题一一拿出讨论。这本书更像是代码大全的一个实践版!
  •     讲述了很多软件需求到设计的技巧,预构这个名字起的挺好,可惜很难像重构那样形成工具,正如书中所说,该工作目前仍然是一门艺术
  •       翻译比较差。
      拿到这本书的时候很奇怪,为什么 O'reaily 的书会交给东南大学出版社出版。
      全书以一个特定的项目为例,生动地描述了一个CD租赁管理系统的设计的全过程。每章基本上都以用户提出新功能的要求开始,之后二人对其进行详细的讨论。
      在最后,列出了一些其他系统的设计方案。
      可能是工作经验所限吧,泛读几遍之后,感觉像是在看故事。对预构这一内容的系统性操作还是没有比较确定的认识。
 

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

零度图书网 @ 2024