如果您参与软件开发,请阅读“用代码作梦”

一位朋友送给我这本书,我很高兴他做到了。

如果我只能对这本书说一句话,那就是“ 这对于软件开发人员,软件产品经理和软件工程CS学生来说应该是必读的。”是的,就是那么好。

这本书记述了2000年初开发名为Chandler的个人信息管理器软件的过程。它是根据我们对软件工程及其困境的看法,处理和应对的方式进行的。

尽管它描述了一些代码,但有关描述软件开发人员,管理开发工作的人员以及领导工作的人员的叙述,从描述真实的软件开发的工作方式(辛苦,流畅,破裂,不断被固定,艺术,科学。 是的,自2004年以来我们已经走了很长一段路。即使如此,许多观察甚至在今天仍然成立。

除了描述开发工作的章节外,很少有章节(例如“方法”以及“工程师和艺术家”)以令人愉悦,内容丰富且感知力强的方式绕开了软件工程的历史,先驱者对软件工程的看法以及我们如何搞砸了,我们如何弄混,以及如何“修复”软件工程的替代视图。 他们考虑了不同人群的观点:艾伦·凯(Smalltalk),弗雷德·布鲁克斯(Fred Brooks)(神话般的人月),唐纳德·努斯(Donald Knuth)(TAoCP,TeX),乔尔·斯波斯基( Joel Spolsky)( 乔尔在软件上 ),查尔斯·西蒙尼(Charles Simonyi)(有意编程)和贾隆·拉尼尔(Jaron Lanier(防液软件)。 这些绕道实际上可以挑战当前对软件工程的看法。 如果您曾经参加过战trench,那么这些弯路将使您自鸣得意,并增强了您对软件工程的认识。🙂总而言之,这些章节值得一读。

我个人很喜欢这本书,因为它使我不愿将软件工程称为工程学科,并且我对以软件工程的名义所做的所有事情的看法都是错的。 我喜欢什么是软件工程(或它是开发?)以及我们应该如何处理它的历史和多样的观点。 真的让我的车轮生锈了🙂

最后,如果有一本书我会推荐一位对软件工程感兴趣的CS学生,那就是。 正如书中所言,软件工程是一门学科,“工程师”在其中忽略了过去,对自己不利。 避免这种情况的第一步是,通过阅读此书及类似书籍(例如AOSA书籍, Oreilly的Beautiful X系列 书籍),从过去和当前的软件开发工作中学习。

如果您正在寻找一本可以很好地了解软件工程的书,那么就可以参考。