爱普生r230驱动-u盘论坛

stack overflow at line 1
2023年4月1日发(作者:insertintoselect)

StackOverflow创始⼈:程序员必读的15本经典书籍

这份读书清单已经很久没更新了,⾄于为什么阅读列表为何很少更新?Stackoverflow创始⼈JeffAtwood表⽰这10年

⾥,计算机发展迅猛,带来的变化也是翻天覆地,但⼈却没有改变。

为了开发出更好的软件,你需要了解⼈们的⼯作⽅式,这也正是他推荐的书籍时所注重的地⽅。以下就是JeffAtwood就

是推荐的书单内容:

1、《代码⼤全2》

出⾃SteveMcConnell之⼿的《代码⼤全2》就像在为为软件开发⼈员诉说编程的乐趣。能读的下去这本书的⼈,证明他

喜欢⽬前的⼯作,对待⼯作认真负责,并且想不断提升⾃⼰。在书中Steve指出,普通程序员每年阅读的技术书不到⼀

本。选择阅读这本书,就已经证明你与90%的程序员不⼀样了。

我⾮常喜欢这本书,以⾄于这个⽹站的标题(Codinghorror)就是从这本书中衍⽣出来的-书中的编程反例都标

有“Codinghorror”图标。没有什么⽐Codinghorror更有趣了-直到有⼀天你⾃⼰也碰上了,然后你就会觉得突然间不再

那么有趣了。使这本书成为您阅读的第⼀本书,⽽且这本书绝对值得让你推荐给⾝边的任何⼀个同事。

2、《⼈⽉神话》

这本书可以说是我们这个领域唯⼀的经典书籍了,假如你还没读过它,那真是太可惜了

我敢说任何⼀个拿起这本书的程序员都没有发现关于那个早就不使⽤操作系统的故事以及它的开发团队之间惊⼈的相关

性。这本已经出版25年的书⼤胆地说明了⼀个观点:电脑可能会改变,但⼈却不会改变。

阅读这本经典作品肯定⽐你沉迷于最新的千页技术书籍更有价值。

3、《点⽯成⾦:访客⾄上的⽹页设计秘笈》

关于我所阅读的关于可⽤性中最好的⼀本书。书名说“⽹页的可⽤性”,但不要被它的字⾯意思所误导了。SteveKrug在

书中涵盖了所有重要的可⽤性概念,⽽“⽹页的可⽤性”只是其中的⼀部分。书中的内容也⼗分有趣,如果只想阅读⼀本

有关可⽤性的书籍,那么选择它准没错了。它⾥⾯包含了很多重要的知识点,并以简洁,通俗易懂的⽂字呈现。适⽤于

任何读者:技术,⾮技术,⽤户,开发⼈员,经理等。

呃。。。是不是发现⾃⼰从来没有开过这样的会议。顺便提⼀下,解决这个问题的办法是进⾏⼀次快速的可⽤性测试。

请想象⼀下:根据实际数据来得出事实依据,⽽不是基于⼀场为了辩论来让其他⼈认同你。这难道⾰命性转变么?

4、《快速软件开发》

这本书的全称是:《快速软件开发:掌控软件开发进度》,这个标题啰嗦⽽且含糊不清,更重要的是还⽤词不当。

《快速软件开发》并⾮是⼀本关于快速开发的书。书中围绕软件开发失败这⼀现实问题展开。绝⼤多数的软件开发项⽬

都会失败:有时是没能按时上线,有时是开发出来的项⽬不合格,甚⾄有些时候都没办法完成。丝毫不⽤怀疑,事实就

是如此。说难听了就是:除⾮你的团队⾮常厉害,能够避免失败,否则根本不⽤提成功了。虽然这听起来可能会令⼈沮

丧——好吧,这确实令⼈沮丧——但你仍然会想要去读⼀读这本书。

为什么呢?因为只要你不重复犯曾经犯过的错,不⾛别⼈⾛过的弯路,你就已经成功⼀半了,本书提供的⽰例就是为了

表明,犯错并⾮坏事,只要犯的这些错都是之前没有出现过的,如果你犯了同样的⽼错误,那么,表明你在⼀开始就已

经失败了,所以,从现在开始去发现那些你可能正在犯的错误吧

对我们这⼀⾏来讲,唯⼀不变的就是⼀直在变。所以接受这种变化并尝试不同的“快速”开发技术是很⾃然的⼀件事。但

是这句话反过来说就不对了。我们不能认为⾃1970年以来,所有旧的软件开发课程与我们今天的技术相⽐已经是过时了

的或是没⽤的了。⽼⽣常谈的⼀件事是:计算机不断改变;⼈却没有。McConnell曾说过:“粉刷之前请先阅读油漆桶

上的说明⽂字。”意思就是在你准备开始做⼀件事之前,⾄少要对于哪些可⾏哪些不可⾏有个认识。虽然这听上去并没

有什么不妥,但是当你读了这本书之后,你才会意识到,我们很少会真正去这么做。

5、《⼈件》

如果你曾经看过全明星运动队,因为教练原因导致表现不佳的话,那么你会很喜欢这本书。当团队中⼈都不能相互交

谈,或者在某件事情达成⼀致时,⽆论你得到多少“编程之星”都于事⽆补。⽽且,⽆论多聪明的开发者,都不能在被⼲

扰的情况下依然⾼校的⼯作,开发⼈员本⾝并不知道他们的社交技能,但颇为讽刺的是:项⽬的成功与否正取决于此。

如果你想真的在实践中成为“团队领导者”⽽不⽌是名义上的,那么,你需要拿起这本书。

虽然《⼈件》有许多完美的观点,但⾥⾯描绘的这种雇员管理对⼤多数公司来说都是纯粹的幻想。但⾄少你可以你的⼯

作环境或你的团队在什么时候出现了问题-更重要的是,你知道该如何做。

6、《设计⼼理学》

开发软件可能是⼀件令⼈极度沮丧的事,因为很多的软件都可能会出错。我们所做的很多事情都是防御性的,⽐如试图

预测会出现哪些问题。这是⼗分费脑的,⽽且最终还可能表明是错误的。我有时会和⾮技术⼈员这样解释:就好⽐制造

⼀个带有⼀千个移动部件的⼿表,所有这些部件都有可能在⽆意中就坏掉了。这真是个悲伤的故事。

软件开发肯定是困难的,但设计也很困难。设计的微妙之处在于它可以延伸到你能接触到的每⼀个事物,⽆论是⼀些最

新最热门的SQL引擎,还是⼀只普通的鞋⼦。这本书都会让你对“恶魔藏在细节⾥”这句话有⼀个新的认识。如果设计软

件并不是我们认为的那么简单的时候,那么也许是时候该让⾃⼰休息⼀下了。

7、《AboutFace:交互设计精髓》

VisualBasic的⽗亲AlanCooper是可⽤性领域的教⽗。我已经拥有这本书的多个版本(这是第四版),这本书越修订

越好,并且有越来越多的合作者像本书融⼊了不同的观点,这是⼗分罕见的

越好,并且有越来越多的合作者像本书融⼊了不同的观点,这是⼗分罕见的

《AboutFace》有很多适⽤于移动端和Web应⽤的通⽤指南。在⽤于说明的GUI问题中-以旧的Windows95⽤户界⾯的

例⼦-将该系统已经改进的地⽅(在进⾏对话框选择前使⽤视觉样例进⾏展⽰)和还没有改进的部分(使⽤愚蠢的模态

框来停⽌正在运⾏的进程)进⾏对⽐是很有趣的⼀件事。

这是⼀本⾮常有⽤的书。我已经将本书作为我所从事项⽬的指南。

8、《编程珠玑》

推荐《编程珠玑》这本书我有点犹豫,因为它涵盖了很多底层的编码技术,但本书中嵌⼊了⾜够的软件开发的“珠玑”,

使它值得任何开发⼈员花时间去阅读。任何包含此图的书

..的确是物有所值。利⽤TRS-80与DECAlpha来说明48n与n3算法的区别,所以真的没有⽐这个更合适的了。能和⼤神

级别的程序员共事⼀年固然美好,如果不⾏读《编程珠玑》也是不错的选择。这本书将很多⾼级⼯程师的智慧提炼成简

洁的语⾔和易懂的⽂字。

说实在的:有些章节可以把它被忽略。例如,我⽆法理解本书的第11,13和14章中居然在介绍如何实现排序,堆或哈希

算法。但是,对于每⼀本教科书繁琐的练习,都有真实可⾏的建议。你只需浏览本书,忽略代码部分。但第8章“粗略估

算”是⾄关重要的,可能是我看到过的最佳评估⽅法。这张还解释了⼀些经常出现的⾯试问题。

你可以现在⽹上阅读这本书的⼀些样章。我最近使⽤了书中“粗略估算”这⼀章节的内容来说明马尔可夫链⽣成⼈造数据

以填充空数据库

9、《程序员修炼之道》

本书时常会让我想起《编程珠玑》,但相⽐这本书还更好⼀点,因为它不太关注代码。作者把在现实⼯作中发现所有实

⽤⽅法归结为⼀本书。并⾮所有的这些⽅法都是与技术上的编程相关。例如,问⾃⼰“我为什么要这样做?这样做值得

吗?”跳出固有思维⽅式;并把这种思想融⼊到你的⽇常⼯作中。这就是《程序员修炼之道》为什么会成为如此出⾊的书

的原因。

如果您想了解更多有关该书的内容,我创建了⼀个HTML版本的插页参考卡⽚,可以很好地概览这本书的内容。

10、《Web可⽤性设计》

JakobNeilsen以其创建的可⽤性⽹站⽽闻名,1989年,当时他的第⼀本书出版,这时就已是⼀名可⽤性专家了。

《Web可⽤性设计》显然是⼀个专注于Web可⽤性⼊门的书,所以它与⾯向GUI的Cooper书籍有点不同。

11、《定量信息的视觉显⽰》

12、《视觉解释:图像和数量,证据与线索》

12、《视觉解释:图像和数量,证据与线索》

13、《想象信息》

14、《美丽的证据》

信息很美。设计良好的GUI也是如此。除⾮你是完美主义者(或者是受虐狂,我想),否则你不需要拥有系列中全套的

四本书,但前两个是必不可少的。

ChrisSells于2004年6⽉出席的Tufte研讨会后,对Tufte书籍有了⼀些有趣的见解。

15、《正则表达式经典实例》

众所周知,UNIX⼗分复杂⽽且难以理解。正则表达式也是如此。

我可能是“KeepItSimpleStupid”原则的忠实遵循者,但我正在为正则表达式做⼀个特例。若能正确书写正则表达式,那

么她们会为你在字符串处理上节省⼤量时间,我从来没有遇到⼀个正则表达式不能派上⽤场的项⽬。

⼀旦深⼊了解正则表达式,你可能会因为拥有惊⼈的⼒量和潜⼒⽽沉迷于此,这也就是Perl的由来。请记住,绝对权⼒

会导致绝对的腐败。但它也是绝对的好⽤。

更多推荐

stack overflow at line 1