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页
正常人体结构基础-(供护理.中医.卫生保健.药剂等专业用) 本书特色 本书共13章,以中职学生的实际水平为起点,内容精当,图文并茂,版式新颖,利教便学,适合各类...
《后汉书(繁体竖排版)(套装共12册)》全书主要记述了上起东汉的汉光武帝建武元年(公元25年),下讫汉献帝建安二十五年(公元220年),共196年的史事。《后汉...
解构电视:电视传播学新论 内容简介 当今社会,电视已经深入到社会生活的各个领域,成为与政治、经济、文化互动发展的重要形态。本书立足于我国电视传播的现状,以人类传...
赵元任(1892—1982),著名的语言学家、作曲家,被称为汉语言学之父,中国科学社创始人之一。曾任职于清华大学、中央研究院、哈佛大学、耶鲁大学、加州大学柏克莱...
作品目录第一部分:婚前性行为危机第1章:真爱为什么需要等待第2章:青年人为婚前性行为付出的高昂代价第3章:社会为婚前性行为
重返犯罪现场-神探李昌钰破案实录系列-NO.4 本书特色 当代福尔摩斯解密全球重案侦探之王带你重返犯罪现场重返犯罪现场-神探李昌钰破案实录系列-NO.4 内容简...
作者:(英)乔治·奥威尔 译者:郭宣 译者:郭照熙乔治·奥威尔(1903—1950),原名埃里克·亚瑟·布莱尔。英国伟大的人道主义作家、新闻记者和社会评论家,著...
刚雪印辽宁省大连市人。多年来坚持创作与犯罪心理学相关的刑侦推理小说,笔下的每一个故事都会引领读者进入一个跌宕起伏、悬念丛生的悬疑推理世界。代表作“犯罪心理档案”...
爱潜水的乌贼 阅文集团白金作家、网络文学 作家、“茅盾文学新人奖·网络文学新人奖”获得者,2019年7月起担任四川省网络作家协会 。代表作品有《灭运图录》《奥术...
医说成语 内容简介 本书将医学知识与中华成语融为一体,使读者在了解成语的基础上,知晓医学知识,起到养身保健、愉悦身心,提高自身健康水平的作用,本书适用于成语及医...
内容简介:有两种方法可以让文化精神枯萎,一种是奥威尔式的——文化成为一个监狱,另一种是赫胥黎式的——文化成为一场滑稽戏。——尼尔·波兹曼《娱乐至死》初版于198...
温病条辨 本书特色 《温病条辨》是清代医学家吴瑭所著,吴氏在继承前人理论和证治经验基础上,创立了温病三焦辨治纲领,丰富了温病的治则治法,明确了温病的治疗禁忌,被...
米兰Lady专注于历史小说创作,善于从故纸堆中挖掘不为人熟知的故事,在讲述主角的情感经历、人生际遇的同时也工笔描绘时代背景,通过细节展现古代风物及传统文化。文笔...
墨书白晋江高人气作者,热爱以成长和圆满为主题进行创作,能驾驭各种题材的小说,擅长以小人物抒写大情怀,喜欢世间一切的美好代表作:《长风渡》《山河枕》《琢玉》《长公...
偏方验方家庭应用图文百科 本书特色 崔晓丽编写的《偏方验方家庭应用图文百科》偏方的药量,除特别说明外,一律为成人用量,老人、儿童等患者的用量宜根据具体情...
布兰科‧米兰诺维奇(Branko Milanovic)卢森堡收入研究中心资深研究员,纽约城市大学研究生院首席客座教授。曾任世界银行研究部首席经济学家,并建立世界...
霍米·K·巴巴 | Homi K. Bhabha哈佛大学安妮·F·罗森伯格英美文学教授,哈佛大学历史文学研究中心主任,伦敦大学学院人文学客座教授。大卫·布林 |...
马丁·海德格尔(Martin Heidegger,1889 - 1976)出身于一个天主教家庭,早年在教会学校读书。17岁时,从一个神父那里借到布伦坦诺的《亚里...
胡适( 1891.12.17 —1962.2.24),汉族,安徽绩溪上庄村人。现代著名学者、诗人、历史家、文学家,哲学家。因提倡文学革命而成为新文化运动的领袖之...
作者简介:Michael McMillan作为大学老师和程序员,曾编写过多部受到好评的数据结构与算法图书,包括Data Structures and Algor...