搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
程序员应该知道的97件事
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121117565
  • 作      者:
    Kevlin Henney编
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2010
收藏
编辑推荐
    博采专家智慧,学习每个程序员应该知道的一切。无论你使用何种语言,通过书中97个专为程序员准备的短小精悍、极其有用的技巧,你将学会用全新思路解决老问题。在中肯的建议下,学会采纳恰到好处的完美实践经验,磨砺你的技艺,提升你的专业技能。
展开
作者简介
    亨尼(Kevlin Henney),是一名独立咨询师、培训师兼作者。他专注于程序设计,探索设计模式,积累实践经验,研究开发过程。曾与他人合著“Pattern-Oriented Software Architecture Volume 4:A PatternLanguage for Distributed Computing”和“Pattern 0riented SoftwareArchitecture Volume 5:On Patterns and Pattern Languages”  (均由Wiley出版公司出版)。
展开
内容介绍
    《程序员应该知道的97件事》是一线程序员的经验荟萃,他们根据各自在软件工程各环节里的实践经历,现身说法,提出了自己的真知灼见,这些经验涵盖了用户需求、系统分析设计、编码实践、编码风格、bug管理和项目管理等多个方面。来自各领域的程序员都能从中找到自己感兴趣的内容,因此,适合不同层次程序员的阅读。
展开
精彩书摘
    如果你的应用程序的数据大小超过了系统的RAM,在索引后的RDBMS表里的执行速度就会比你库里的map集合类型要快上好几个数量级,后者会引起虚拟内存页的抖动。现代数据库可以很容易地与你的需求一起增长。当有需要的,只要小心从事,就能将一个嵌入式数据库扩展成一个更大的数据库系统。随后,你也能从一个免费的开源数据库切换到另一个有更好支持或更强大的专有系统上。<br>    一旦你掌握了SQL的窍门,就会将编写以数据库为中心的应用视为一种快乐。把适度范型化的数据存储到数据库之后,那就可以很容易地使用可读的SQL查询高效地析取出需要的数据,无需编写任何复杂的代码。类似的,一条单独的SQL命令就能完成复杂的数据更改。对于一次性的修改,比如说,你组织持久数据的方式上的一次改变——你甚至不需要编写代码:只要启动数据库的直接SQL接口就行了。在同一个接口上,你还可以做查询试验,从而回避了常规编程语言里的编译一编辑循环。<br>    ……
展开
目录
前言 I<br>谨慎行动 2<br>勒布·罗斯(Seb Rose)<br>函数式编程原则的应用 4<br>爱德华·加森(Edward Garson)<br>试问自己“用户会怎么做?”(你不能算是用户) 6<br>吉尔斯·科尔伯恩(Giles Colborne)<br>编码标准的自动化 8<br>菲利普·冯·莱能(Filip van Laenen)<br>美在于简单 10<br>乔恩·奥尔姆海姆(Jrnlmheim)<br>在你重构之前 12<br>拉吉斯·阿塔帕图(Rajith Attapattu)<br>谨防共享 14<br>伍迪·达汉(Udi Dahan)<br>童子军规则 16<br>罗伯特·C·马丁(鲍伯大叔)(Robert C. Martin (Uncle Bob))<br>在责备别人之前先检查自己的代码 18<br>阿伦·凯利(Allan Kelly)<br>谨慎选择你的工具 20<br>乔瓦尼·阿斯普罗尼(Giovanni Asproni)<br>领域语言里的代码 22<br>丹·诺斯(Dan North)<br>代码就是设计 24<br>瑞恩·布勒西(Ryan Brush)<br>关于代码布局的麻烦事 26<br>史蒂夫·弗里曼(Steve Freeman)<br>代码审查 28<br>马蒂亚斯·卡尔森(Mattias Karlsson)<br>编写代码的理由 30<br>耶切尔·凯姆治(Yechiel Kimchi)<br>对注释的一个注释 32<br>卡尔·埃文斯(Cal Evans)<br>代码说不清,注释来补充 34<br>凯文·亨尼(Kevlin Henney)<br>不断学习 36<br>克林特·谢恩克(Clint Shank)<br>易用不是一种能力 38<br>格雷格·霍普(Gregor Hohpe)<br>早部署,常部署 40<br>史蒂夫·巴克扎克(Steve Berczuk)<br>区分业务异常和技术异常 42<br>丹·贝格·约翰松(Dan Bergh Johnsson)<br>有针对性地勤加练习 44<br>乔恩·贾格尔(Jon Jagger)<br>领域特定语言 46<br>迈克尔·亨格(Michael Hunger)<br>不要怕搞砸 48<br>麦克·里维斯(Mike Lewis)<br>不要在你的测试代码里装可爱 50<br>洛德·贝吉比(Rod Begbie)<br>不要忽略那个错误 52<br>皮特·古德利夫(Pete Goodliffe)<br>不要只学习语言,还要了解它的文化内涵 54<br>安德斯·诺拉斯(Anders Nor?s)<br>不要把程序钉死在老地方 56<br>维里蒂·什托布(Verity Stob)<br>不要指望“魔法会在此发生” 58<br>艾伦·格里菲思(Alan Griffiths)<br>不要重复你自己 60<br>史蒂夫·史密斯(Steve Smith)<br>别碰那些代码! 62<br>卡尔·埃文斯(Cal Evans)<br>封装行为,而不仅仅是状态 64<br>埃纳尔·兰德雷(Einar Landre)<br>浮点数不是真正的数 66<br>查克·阿利森(Chuck Allison)<br>开源助你实现雄心壮志 68<br>理查德·默森-海菲尔(Richard Monson-Haefel)<br>API设计的黄金法则 70<br>迈克尔·费瑟(Michael Feathers)<br>高手神话 72<br>瑞恩·布勒西(Ryan Brush)<br>加班加点,事倍功半 74<br>奥尔夫·莫德尔(Olve Maudal)<br>如何使用bug跟踪器 76<br>马特·多尔(Matt Doar)<br>代码的去芜存菁 78<br>皮特·古德利夫(Pete Goodliffe)<br>安装我吧 80<br>马库斯·巴克(Marcus Baker)<br>进程间通信对应用程序响应时间的影响 82<br>兰迪·斯坦福(Randy Stafford)<br>保持构建的整洁 84<br>约翰内斯·布罗德沃(Johannes Brodwall)<br>知道如何使用命令行工具 86<br>卡罗尔·罗宾逊(Carroll Robinson)<br>通晓两门以上编程语言 88<br>拉塞尔·文德(Russel Winder)<br>了解你的IDE 90<br>亨氏·卡布兹(Heinz Kabutz)<br>了解你的局限性 92<br>格雷格·科尔文(Greg Colvin)<br>知道你下次提交的内容 94<br>丹·贝格·约翰松(Dan Bergh Johnsson)<br>大型、相关联的数据属于数据库 96<br>迪奥米德斯·斯皮内利斯(Diomidis Spinellis)<br>学习外语 98<br>克劳斯·马夸特(Klaus Marquardt)<br>要学会估算 100<br>乔瓦尼·阿斯普罗尼(Giovanni Asproni)<br>学着说“Hello,World” 102<br>托马斯·盖斯特(Thomas Guest)<br>让你的项目能表达它自己 104<br>丹尼尔·林德纳(Daniel Lindner)<br>链接器(Linker)并不神秘 106<br>沃尔特·布莱特(Walter Bright)<br>临时解决方案的寿命 108<br>克劳斯·马夸特(Klaus Marquardt)<br>使接口易于正确使用,难于错误使用 110<br>斯科特·迈尔斯(Scott Meyers)<br>让不可见的更加显眼 112<br>乔恩·贾格尔(Jon Jagger)<br>在并行系统中使用消息传递可获得更好的伸缩性 114<br>拉塞尔·文德(Russel Winder)<br>带给未来的消息 116<br>琳达·瑞辛(Linda Rising)<br>错失采用多态的机会 118<br>柯克·佩珀丁(Kirk Pepperdine)<br>奇闻轶事:测试人员是你的朋友 120<br>比尔克·胡夫纳盖尔(Burk Hufnagel)<br>二进制文件仅此一份 122<br>史蒂夫·弗里曼(Steve Freeman)<br>有代码有真相 124<br>彼得·索默莱德(Peter Sommerlad)<br>拥有(及重构)构建脚本 126<br>史蒂夫·巴克扎克(Steve Berczuk)<br>结对编程,感受流程 128<br>古德妮·霍克尼斯,卡里·罗斯兰,安·卡特林·加耐特(Gudny Hauknes、Kari R?ssland、Ann Katrin Gagnat)<br>特定领域类型胜过原始类型 130<br>埃纳尔·兰德雷(Einar Landre)<br>预防错误 132<br>吉尔斯·科尔伯恩(Giles Colborne)<br>专业程序员 134<br>罗伯特·C·马丁(鲍伯大叔)(Robert C. Martin (Uncle Bob))<br>把一切都置于版本控制之下 136<br>迪奥米德斯·斯皮内利斯(Diomidis Spinellis)<br>放下鼠标,远离键盘 138<br>比尔克·胡夫纳盖尔(Burk Hufnagel)<br>阅读代码 140<br>卡利亚恩·伯格(Karianne Berg)<br>读懂人性 142<br>基斯·布雷斯韦特(Keith Braithwaite)<br>经常重新发明轮子 144<br>贾森·P·塞奇(Jason P. Sage)<br>抗拒单子模式的诱惑 146<br>山姆·沙利斯特(Sam Saariste)<br>通向高性能之路布满了脏代码炸弹 148<br>柯克·佩珀丁(Kirk Pepperdine)<br>简单来自于删减 150<br>保罗·W·荷马(Paul W. Homer)<br>单一职责原则 152<br>罗伯特·C·马丁(鲍伯大叔)(Robert C. Martin (Uncle Bob))<br>从Yes开始 154<br>亚历克斯·米勒(Alex Miller)<br>请转回去做自动化、自动化、自动化 156<br>戴·伊霍斯特曼(Cay Horstmann)<br>充分利用代码分析工具 158<br>萨拉·芒特(Sarah Mount)<br>为必需行为测试,而不是偶发行为 160<br>凯文·亨尼(Kevlin Henney)<br>测试要严密而具体 162<br>凯文·亨尼(Kevlin Henney)<br>在睡觉的时候(或度周末的时候)进行测试 164<br>拉吉斯·阿塔帕图(Rajith Attapattu)<br>软件开发的工程严密性来自测试 166<br>尼尔·福特(Neal Ford)<br>关于状态的思想 168<br>尼克拉斯·尼尔森(Niclas Nilsson)<br>一人计短,二人计长 170<br>阿德里安·威伯尔(Adrian Wible)<br>错上加错就是貌似正确(并且难以纠正) 172<br>阿伦·凯利(Allan Kelly)<br>我写代码为人人,人人为我写代码 174<br>阿斯拉姆·汉(Aslam Khan)<br>Uinx工具是你的好朋友 176<br>迪奥米德斯·斯皮内利斯(Diomidis Spinellis)<br>使用正确的算法和数据结构 178<br>简·克里斯蒂安(JC)·冯·温克尔(Jan Christiaan “JC” van Winkel)<br>冗长的日志会让你睡不安枕 180<br>约翰内斯·布罗德沃(Johannes Brodwall)<br>WET掩盖了性能瓶颈 182<br>柯克·佩珀丁(Kirk Pepperdine)<br>当程序员和测试人员开始合作的时候 184<br>珍妮特·格雷戈里(Janet Gregory)<br>编写代码时要像余生都要给它提供支持一样 186<br>尤里·祖巴列夫(Yuriy Zubarev)<br>使用实例编写小函数 188<br>基斯·布雷斯韦特(Keith Braithwaite)<br>测试为人而写 190<br>杰拉德·梅萨罗斯(Gerard Meszaros)<br>你应该关心你的代码 192<br>皮特·古德利夫(Pete Goodliffe)<br>心口不一的客户 194<br>内特·杰克逊(Nate Jackson)<br>作者简介 196<br>索引 221
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证