This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process, and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly
John Ousterhout is the Bosack Lerner Professor of Computer Science at Stanford University. His current research focuses on new software stack layers to allow datacenter applications to take advantage of communication and storage technologies with microsecond-scale latencies. Ousterhout's prior positions include 14 years in industry, where he founded two companies (Scriptics and...
(展开全部)
APhilosophyofSoftwareDesignPreface-Themostfundamentalproblemincomputerscienceisproblemdecomposition:howtotakeacomplexproblemanddivideitupintopiecesthatcanbesolvedindependently.1Introduction###1.1Howtousethisbook-Thebestwaytousethisbookisinconjunctionwithcodereviews.-Oneofthebestwaystoimproveyourdesignskillsistolearntorecognizeredflags:signsthatapieceofcodeisprobablymorecomplicatedthanitneedstobe.-Whenapplyingtheideasfromthisbook,it’simportanttousemoderationanddiscretion.-Thismeansthatthegreatestlimitationinwritingsoftwareisourabilitytounderstandthesystemswearecreating.-Therearetwogeneralapproachestofightingcomplexity,bothofwhichwillbediscussedinthisbo...
——引自第1页
ThebestwaytoeliminateexceptionhandlingcomplexityistodefineyourAPIssothattherearenoexceptionstohandle:defineerrorsoutofexistence.Thismayseemsacrilegious,butitisveryeffectiveinpractice.ConsidertheTclunsetcommanddiscussedabove.Ratherthanthrowinganerrorwhenunsetisaskedtodeleteanunknownvariable,itshouldhavesimplyreturnedwithoutdoinganything.Ishouldhavechangedthedefinitionofunsetslightly:ratherthandeletingavariable,unsetshouldensurethatavariablenolongerexists.Withthefirstdefinition,unsetcan’tdoitsjobifthevariabledoesn’texist,sogeneratinganexceptionmakessense.Withtheseconddefinition,itisperfectlynaturalforunsettobeinvokedwiththenameofavariablethatdoesn’texist.Inthis...
——引自第88页
大话通信-通信基础知识读本 本书特色 《大话通信:通信基础知识读本》内容包括:基础知识 趣味解读 带你轻松学通信漫画插图 巧妙诠释 助你快乐速入门生活实例 贴切...
伤寒论六经辨证与方证新探-经方辨治皮肤病心法 本书特色 《伤寒论六经辨证与方证新探——经方辨治皮肤病心法》作者欧阳卫权对《伤寒论》六经实质进行深度再探讨...
◆金庸家属授权的金庸往事集。书中记录了查太“小龙女”与金庸先生相识的经过——2016年,查太林乐怡和作者沈西城面谈与金庸先生相识的经过,首度辟谣;◆带有珍贵史料...
这是一部创作者从0到1的破圈指南。8大关键词,助你解决从0开始创作难题。一站解决创作痛点,创造价值最大化的传播——每个人,都可以成为优秀的内容“创作者”。互联网...
景观植物实用图鉴 第1辑:宿根草花150种 内容简介 宿根草花又称为多年生草花,泛指在宿根性草本植物中,开花美丽,以观花为主的多年生草本花卉。宿根草花的寿命可以...
◆ 悲悯幽默之笔,写尽底层生存百态《信号》收入当代美国南方作家蒂姆•高特罗的十二个短篇小说新作和从他前两部短篇集中精选的九个名篇,代表高特罗短篇小说创作的最高水...
中华人民共和国精神卫生法(2018年最新修订) 本书特色 为了发展精神卫生事业,规范精神卫生服务,维护精神障碍患者的合法权益,制定《精神卫生法》。在中华人民共和...
作品目录1、德国的冷血统治者2、贪婪的助手3、性格乖僻的军阀4、行刺“似有神魔暗中保护的”元首附文符合元首身份的办公场所征服
艾伯林,生于1912年,为瑞士苏黎世大学神学教授,他早年曾就读于朋霍费尔(又译潘霍华)的地下神学院。艾伯林为路德神学专家,他早期的神学贡献是将路德的福音宜讲的观...
《天地正气》内容简介:本书为“中华传统价值观丛书”之一,全书精选先秦至近代诗文词曲体现浩然正大之气的作品近二百篇(首),大
吴军博士,毕业于清华大学计算机系(本科)、电子工程系(硕士)和美国约翰 · 霍普金斯大学计算机科学系(博士)。在清华大学和约翰 · 霍普金斯大学期间,吴军博士致...
《新药史话:从万能药到生命科学前沿》内容简介:《新药史话:从万能药到生命科学前沿》是关于新药科学史的科普图书,内容涉及新药
作品目录第1章 微型计算机系统概述第2章 计算机中数据的表示第3章 微处理器第4章 微型计算机指令系统第5章 汇编语言程序设计第6
《凤凰泪》主要内容:纽约时装达人纪星星,天生丽质,出身平平,少时随同做农民的父母由中国福州农村偷渡到美国,在太平洋上大难不死。到纽约后,父母纪立明和冯玲像其他偷...
InahighlyprejudicedOklahomatowninthe1950s,asinglemotherandherunlikelyalliesstrug...
叶嘉莹,号迦陵。1924年7月出生于北京的一个书香世家,南开大学中华古典文化研究所所长,博士生导师,加拿大籍中国古典文学专家,加拿大皇家学会院士,曾任台湾大学教...
沈从文(1902-1988),小说家、散文家。原名沈岳焕,湖南凤凰人。1918年小学毕业后,随本乡土著部队在沅水流域各县生活,后正式参加军队。 1922年受五四...
一名孤苦无依的小乞丐为了能独自存活于世,只好选择寄身在黑帮之中,成为最低级的小混混。不料,半年后,他失手杀死老大,只得分掉银子跑路,沿途结识九位兄妹——号称十兄...
★波兰文学专家译介,中文世界首次完整呈现米沃什诗歌全貌★二十世纪伟大的波兰诗人、诺贝尔文学奖得主★70载创作,335首诗歌★诗的见证,比新闻更可靠切斯瓦夫•米沃...
《你在为谁工作》通过讲述发生在一名普通的机场管理人员身上的小故事,形象地揭示了职场人际关系对于个人前途的重要性。作者还结