新書推薦:
《
嘉靖帝:丹鼎青烟里的王朝乱象
》
售價:HK$
97.8
《
甲骨文字趣释
》
售價:HK$
66.7
《
利润的暗影:资本主义全球扩张与环境变迁史(探秘历史深处的经济与生态交织)
》
售價:HK$
82.8
《
唐长安城坊古今注
》
售價:HK$
112.7
《
持家的人 : 女性劳动与能源变革
》
售價:HK$
71.3
《
教育心理学
》
售價:HK$
182.9
《
中亚古代史
》
售價:HK$
102.4
《
村上春树·音乐
》
售價:HK$
67.9
編輯推薦:
专家推荐“本书能够很好地指导初学者认识一些容易出错的地方,即便是编程专家,或许也能在其中发现以前没听过的知识。本书作者用一种有趣的方式来讲述这些知识,让这本书既好读,又能给人以教益。”——Mark Cerny,PlayStation 4与PlayStation 5游戏机的首席系统架构师“编程新手与老手都能从这本书中获得很大的启发。本书作者的写作风格令人舒适,他所指出的21条规则,在当今这个全行业与全社会都需要技术的时代里,能够为提升你的软件编写水平,提供重要帮助。”——Paul Daugherty,Accenture的Group Chief Executive of Technology与 CTO编辑推荐这本编程思想指南,展示了一套独特而有趣的思路,促使你考虑如何才能将程序写好。书中的21条实用规则,各自都有专门的一章来讲解,刚入行的程序员能够从这些章节里面获得必b备的知识,编程老手也能够从中汲取灵感。本书作者Chris Zimmerman是电子游戏工作室Sucker Punch Productions的联合创始人,他用通俗易懂的短句来描述编程的真谛,并采用源自实际工作的范例代码,来帮
內容簡介:
这本编程思想指南,展示了一套独特而有趣的思路,促使你考虑如何才能将程序写好。书中的21条实用规则,各自都有专门的一章来讲解,刚入行的程序员能够从这些章节里面获得必b备的知识,编程老手也能够从中汲取灵感。这本书讲解的编程规则包括:尽量简化,但不要简化得太过分。良好的名称是最z佳的文档。让代码自己说话。别让bug蔓延。把复杂的东西控制起来。消除可能出现故障的情况。必须有三个用例才能泛化。运行不到的代码,是不管用的。从想要的结果出发倒着推,而不要从现有的代码出发正着推。有的时候,你就是要工作。头一条优化原则就是不要优化。
關於作者:
Chris Zimmerman在1997年与人合作创立了电子游戏工作室Sucker Punch Productions,并于其后的二十五年间,引领编程团队开发出许多款成功的游戏,其中包括进入2020年TGA“Game of the Year奖”候选名单的《Ghost of Tsushima》。在抽出一半的时间撰写这本书之前,他同时做着编写代码、管理编程团队,以及设计游戏这三个方面的工作。
目錄 :
目录前言 1规则的起源 7规则的变通 11规则1 尽量简化,但不要简化得太过分 15规则2 别让bug 蔓延 33规则3 良好的名称是最佳的文档 53规则4 必须有三个用例才能泛化 69规则5 头一条优化原则就是不要优化 89插曲:有人批评上一条规则了 107规则6 代码审查有三个好处 111规则7 消除可能出现故障的情况 119规则8 运行不到的代码,是不管用的 143规则9 编写可折叠的代码 159规则10 把复杂的东西控制起来 181规则11 决定重做之前,先想想这能不能比原来好一倍 201规则12 大型团队需要有严格的约定 211规则13 找出引发崩溃的根源 225规则14 学会辨别代码的四种风味 245规则15 给代码除草 263规则16 从想要的结果出发倒着推,而不要从现有的代码出发正着推 271规则17 大问题有时更容易解决 299规则18 让代码自己说话 315规则19 通过一套平行的系统来修改项目 327规则20 先把账算清 355规则21 有的时候,你就是得搬砖 369结语:自己掌握规则 379附录A 写给Python 程序员的C 指南 383附录B 写给JavaScript 程序员的C 指南 405
內容試閱 :
前言欢迎你阅读这本书,这里有一套很容易记住也很容易运用的编程规则,能够帮你写出更好的代码。编程是件难事,但遵循这些规则,能让这件事稍微容易一些。下面是阅读本书的一些技法:?? 书中的每条规则都自成一体。如果你在目录里面发现某条规则很有意思,那就直接跳到那一条去读好了,完全没问题。?? 尽管如此,但笔者还是建议你从(第 1 条:尽量简化,但不要简化得太过分)开始。这条规则可以为你理解其他各条规则,打下一个很好的基础。?? 本书的范例都是用 C 语言写的。如果你用的编程语言是 Python 或JavaScript,那应该在深入学习各条规则之前,分别看一下(附录A:写给Python 程序员的C 指南)或(附录B:写给JavaScript 程序员的C 指南)。这两份附录就像(可以帮助我们把古埃及象形文字解读成世俗体与古希腊文的)罗塞塔石碑(Rosetta Stone)那样,帮助你把C 语言里的概念,转换成你所熟知的那两门编程语言之中的相关概念。另外,如果你用的编程语言不是这三种,而且你觉得书里面的C 范例代码很难懂,那笔者建议你去看看Rosetta Code(https://oreil.ly/Rr2BL),这是个很棒的网站,收录了各项编程任务在各种编程语言里面的做法。如果你本来就是使用 C 语言编程的,那么请注意,笔者为了照顾不使用这门语言的程序员,对范例代码做了一些简化。例如代码里面多次用到了带符号的整数(signed integer),但是在真正写C 程序的时候,这些地方通常都会使用无符号的整数(unsigned integer),另外,笔者把带符号与无符号值之间的默认转换所触发的警告,给关闭了。还有就是,笔者默认所有的范例都带有一条using namespace std; 指令,假如没有这条指令,代码里面就会出现许多个需要加std:: 的地方,那样很影响阅读。?? 最后要说的是,如果笔者指的是这本书里面的某条规则,那么会把 Rule这个词的首字母大写。所以你看到的若是首字母小写的rule,则意味着笔者说的是一条早就有了的普通规则,而非本书所认定的这些规则。不区分大小写,就无法体现出这两种规则之间的区别,所以希望大家谅解。希望读者能够喜欢这本书的内容。笔者觉得,你应该可以从中发现一些磨炼编程技能的思路。Girls Who Code本书所有版税都会捐给Girls Who Code(https://oreil.ly/QyCTX),这是个致力于帮助年轻女性发掘编程意义的组织。笔者刚读完大学那会儿,超过三分之一的计算机科学专业毕业生都是女性,而现在,这个比例已经降到了五分之一左右。笔者觉得,从事编程的女性与男性人数之比,应该更加平衡才对。你可能也是这样想的吧?给Girls Who Code 捐款或者做义工,能够让我们离这个目标更进一步。字体约定书中使用下列两种字体来表示特定的内容:斜体(Italic)首次出现的术语,以及所有的网址、电子邮件地址、文件名及文件扩展名,印刷成斜体。等宽字体(Constant width)大段的程序代码,采用等宽字体印刷,正文里面提到的程序部件,例如变量名、函数名、数据库名、数据类型、环境变量、语句以及关键词,也印为等宽字体。如何使用范例代码?本书的补充材料(例如范例代码、习题等),可以从https://github.com/the-rulesof-programming/examples 下载。如果有技术问题或是在使用范例代码时遇到困难, 请发电子邮件至bookquestions@oreilly.com。这本书是想帮助你学习编程技术。一般来说,你可以在程序或文档中使用书里的任何代码,除非你是要复制大段代码,否则无需提前征求我们同意。比方说,用这本书里的几段代码来编写程序,不需要征得我们同意,但是售卖或分发O’Reilly图书之中的范例,则需要提前征得同意;引用本书内容及范例代码回答问题,不需要征求我们同意,但把书中的大量范例代码纳入你的产品文档,则需要提前征得同意。我们乐意看到你在引用时指出资料来源,但不强制要求你这么做。指出资料来源时,通常应该包含书名、作者、出版社与ISBN。例如:“The Rules of Programming by Chris Zimmerman (O’Reilly). Copyright 2023 Chris Zimmerman,978-1-098-13311-5.”如果你觉得你对代码的用法已经超出了合理使用的范围,或者不知道它是否属于刚才说的那几种需要征得同意的情况,欢迎你通过permissions@oreilly.com 询问我们。O’Reilly 在线学习平台(O’Reilly Online Learning)近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。联系我们任何有关本书的意见或疑问,请按照以下地址联系出版社。美国:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司这本书在O’Reilly 网站上面有相应的网页,其中包含勘误表、范例代码,以及其他一些附加信息。这个页面的网址是:https://www.oreilly.com/library/view/therules-of/9781098133108。如果您想跟作者表达你的想法,对本书有所评论或疑问,请参阅此书的专门网站https://www.therulesofprogramming.com,网站上面会给出反馈渠道。与我们的书籍和课程有关的新闻及信息,参见https://oreilly.com 网站。我们的LinkedIn:https://linkedin.com/company/oreilly-media。我们的Twitter:https://twitter.com/oreillymedia。我们的YouTube:https://www.youtube.com/oreillymedia。致谢首先,感谢可爱又多才的妻子Laura,她鼓励我把做其他事的时间,用在写这样一本书上面。还要多谢帮助笔者总结出书中各条规则的人。其中包括Sucker Punch Productions以前和现在的所有开发者,你们都在有意或无意之间,对本书内容提供了帮助,尤其感谢Apoorva Bansal、Chris Heidorn、David Meyer、Eric Black、Evan Christensen、James McNeill、Jasmin Patry、Nate Slottow、Matt Durasoff、Mike Gaffney、Ranjith Rajagopalan、Rob McDaniel、Sam Holley、Sean Smith、Wes Grandmont 与William Rossiter。还要感谢Sucker Punch Productions 之外的各位,给我从其他一些角度提供了思路,你们是:Adam Barr、Andreas Fredriksson、Colin Bryar、David Oliver、Max Schubert、Mike Gutmann 与Seth Fine。特别令我赞赏的是,Adrian Bentley、Bill Rockenbeck、Jan Miksovsky 与Julien Merceron 阅读了本书的每一条规则。笔者真的是很感谢你们。最后,感谢O’Reilly 团队的每一个人,耐心地指导我写完这本书,你们是:Charles Roumeliotis、Gregory Hyman、Libby James、Mary Treseler、Sara Hunter、Suzanne Huston 与Sarah Grey,特别是Sarah Grey,把笔者坚持写进去的一些无聊笑话给删了,帮助团队其他成员大幅减轻负担。