发表于2024-10-08
A Philosophy of Software Design pdf epub mobi txt 电子书 下载
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 Electric Cloud), preceded by 14 years as Professor of Computer Science at U.C. Berkeley. He is the creator of the Tcl scripting language and is also well known for his work in distributed operating systems and storage systems. Ousterhout received a BS degree in Physics from Yale University and a PhD in Computer Science from Carnegie Mellon University. He is a member of the National Academy of Engineering and has received numerous awards, including the ACM Software System Award, the ACM Grace Murray Hopper Award, the National Science Foundation Presidential Young Investigator Award, and the U.C. Berkeley Distinguished Teaching Award.
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
##前言 人们已经为电子计算机写了80多年的程序了,但是令人惊讶的是,很少有关于如何设计这些程序,或者好的程序应该是什么样的之类的讨论。有很多与软件开发过程、软件开发工具相关的重要讨论,比如敏捷开发、调试器、版本控制、测试覆盖工具等。也有大量关于开发技术的分析,比...
评分##1. complexity is incremental:you have to sweat the small stuff 2. working code isn’t enough 3. make continual small investments to improve system design 4. interfaces should be designed to make the most common usage as soon as possible 5.module should be d...
评分 评分 评分 评分##提供了一些新的视角,有借鉴意义。
评分##摘录了一些自觉有意思的片段,理解有限,供参考~ 一 关于如何对待一些故障 In most applications there will be certain errors that it’s not worth trying to handle. Typically, these errors are difficult or impossible to handle and don’t occur very often. The sim...
评分A Philosophy of Software Design pdf epub mobi txt 电子书 下载