
本网站不提供下载链接,喜欢看书的朋友请关注公众号:【lennylee的碎碎念】(lennyleede),首页回复:授人以渔,自动获取搜索资源的方法。
内容简介:
豆瓣
扫码直接下载
<![CDATA[
{{= title}}
{{if year}}
{{= year}}
{{/if}}
{{if type == “b”}}
{{= author_name}}
{{else type == “a” }}
{{if en_name}}
{{= en_name}}
{{/if}}
{{/if}}
]]>
程序设计实践
作者:
/
[美] Rob Pike
出版社:
机械工业出版社
原作名: The Practice of Programming
出版年: 2005-06-01
页数: 267
定价: 22.00元
装帧: 平装
丛书: 经典原版书库
ISBN: 9787111091578
豆瓣评分
9.2
5星
4星
3星
2星
1星
程序设计实践的创作者
· · · · · ·
· · · · · ·
作者简介
· · · · · ·
Brian W.Kernighan和Rob Pike在朗讯科技贝尔实验室的计算机科学研究中心工作。Brian Kernighan是Addison-Wesley的“专业计算丛书”顾问编辑,也是《C程序设计语言》的合著者之一(与Dennis M.Ritchie合作)。Rob Pike是Plan 9和Inferno操作系统的主要结构设计与实现者,他的主要研究兴趣是如何帮助人们更容易地开发软件。
原文摘录
· · · · · ·
( 全部 )
-
全局变量、全局函数、类和结构体都应该有说明性的名字,以表明它们在程序里扮演的角色。
相反,对局部变量使用短名字就够了。按常规方式使用的局部联邦可以采用极短的名字,比如i、j作为循环变量;p、q作为指针;s、t表示指针等。
函数应该采用动作性的名字。函数名应当用动作性的动词,后面可以跟着名词:
now = date.getTime();
putchar(‘\n’); (查看原文)

ziyoudefeng
1赞
2012-12-24 19:02:56—— 引自第2页
-
对返回布尔类型值(或真/假)的函数命名时,应该清楚地反映其返回值情况。比如下面的命名就不是很好了:
if (checkoctal(c))
…
因为这里函数名字就没有指明什么时候返回真,什么时候返回假。而下面这种写法就挺好:
if (isoctal(c))
…
这样就把返回真假的情况指明了。 (查看原文)

ziyoudefeng
1赞
2012-12-24 19:02:56—— 引自第2页
> 全部原文摘录
丛书信息
· · · · · ·
· · · · · ·
经典原版书库(共391册),
这套丛书还有
《数据库系统概念(英文精编版·原书第7版)》《C++ 程序设计语言(第 1 ~ 3 部分)(英文版·第 4 版)》《并行计算导论》《计算机科学概论(英文版·原书第7版)》《同调代数导论》
等
。
喜欢读”程序设计实践”的人也喜欢的电子书
· · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
喜欢读”程序设计实践”的人也喜欢
· · · · · ·
-
-
C陷阱与缺陷
8.8
-
-
设计模式
9.4
-
-
Effective C++
9.3
-
-
C专家编程
9.1
-
-
编程珠玑
9.2
-
-
敏捷软件开发(影印版)
9.0
-
-
UNIX编程环境
8.7
-
-
编译原理 技术与工具
9.4
短评
· · · · · ·
(
全部 13 条
)
-
0
有用
limitedwish
2010-03-17 12:41:11
应付面试还蛮好的,不过很多东西就像书上所讲的那样,挂在嘴边,从不遵守
-
0
有用
benluo
2011-10-05 23:10:48
这本就是传说中的 K&P。必须拥有。时常翻看。
-
0
有用
姐腰疼
2020-01-08 13:37:35
代码风格出乎意料的重要
-
0
有用
y
2011-01-22 19:35:17
好书. 不过讲经验性的书, 还是要在实践之后收获大一点.
-
0
有用
流云
2015-01-10 18:19:03
代码是给人看的,不是给机器
我要写书评
程序设计实践的书评 · · · · · ·
( 全部 22 条 )
<![CDATA[
var cur_sort = '';
$('#reviews-wrapper .review_filter a').on('click', function () {
var sort = $(this).data('sort');
if(sort === cur_sort) return;
if(sort === 'follow' && true){
window.location.href = '//www.douban.com/accounts/login?source=movie';
return;
}
if($('#reviews-wrapper .review_filter').data('doing')) return;
$('#reviews-wrapper .review_filter').data('doing', true);
cur_sort = sort;
$('#reviews-wrapper .review_filter a').removeClass('cur');
$(this).addClass('cur');
$.getJSON('reviews', { sort: sort }, function(res) {
$('#reviews-wrapper .review-list').remove();
$('#reviews-wrapper [href="reviews?sort=follow"]').parent().remove();
$('#reviews-wrapper .review_filter').after(res.html);
$('#reviews-wrapper .review_filter').data('doing', false);
$('#reviews-wrapper .review_filter').removeData('doing');
if (res.count === 0) {
$('#reviews-wrapper .review-list').html('你关注的人还没写过长评’);
}
});
});
]]>
见贤思齐
我看过很多类似#程序员必读XX本书#的书单,似乎在几乎所有的推荐书单里面,《程序设计实践》(英文名The Practice of Programming)都没有出现作为一本被推荐的书。我也是在今年暑假突然想开始读一些英文版的技术书籍,然后豆瓣上大致浏览了一下,机缘巧合的买下了这本书。 在…
(展开)
经典就是告诉你一些不会过时的简单事实
这是一本牢牢占据经典书架最起眼位置的小册子,也是最符合KISS之道的神作之一。 抛开已有的业界的best practices,这本书还修正了我记忆中的很多错误认识,Brian Kernighan、Rob Pike的大名自然是本书最好的招牌;但作者的求实态度更值得每一个认真的programmer学习。 整体上…
(展开)
发现上当了,不如买英文原版的
英语不好,第一次买英文书,没信心,正好发现这个评注版,欣然买之。然后发现所谓的评注不是针对难点的解释,大都是没用的,该解释的作者都已解释清楚了,而这本书又是写思想的不是技术,没有什么难点,评注看的反而碍眼,影响书原汁原味的感觉,这本书40多块329页,而原版的才…
(展开)
程序设计实践
书非常好。但翻译却不能令人满意,就好像一个外行在翻译。 裘宗燕是计算机书籍翻译的前辈,也翻译了大量经典,但可能是由于翻译时年代久远,很多词汇都与现今流行的翻译方式不同。 另外这本书已经绝版了,所以只能找电子版来看。期待本书再版。 这里只举几个例子: 本书的翻译…
(展开)
对这个版本吐几个槽
首先这个书评和原书内容几乎没有关系,针对这本评注版。 当初选择买评注版的原因在于,它是英文版的,就这么简单。但是看完后发现这版有一两个说小不小,但是确实恼人的缺陷。 其一是校对问题。书中出现很多单词排版错误,即两个单词连到一块去了,而且从第三章开始几乎每章…
(展开)
前言翻译 v3.0
你可曾…… 花费了大量时间编写错误的算法? 使用了过于复杂的数据结构? 测试程序却忽略了明显的错误? 需要让程序使用更少的内存,但运行快三倍? 纠结地在工作站和PC间移植程序? 试图对他人的程序做适当的修改? 因无法理解程序而重写? 这有趣吧? 以上种种,程序…
(展开)
第一章可以说是程序员入门必读
推荐章节:第一,二,六,七章。 尤其是第一章,值得熟记并在以后的编程过程中加以运用。 其他章节可以以后再来看。 注意有些部分的技巧可能过时了,不过大部分地方还是值得参考。 书的最后还有各章节的要点汇总,方便查询。
(展开)
这是一本可以与《编程珠玑》媲美的书
同样是出自大师之手,同样都是珠玑,这本书的名气实在太小。这就像做生意一样,生意好的店会越来越好,生意差的店只会越来越冷清。 但是,没有看过这本书,是自己的损失。 这本书有三好:1,实践性强;2,实践性强;3,实践性强。例如:第四章,将库函数的界面,作者首先通过…
(展开)
practice experience
这本书都是一些经验介绍,很好,如C的尽量少用函数宏等,很值得一看,有经验的程序员可以发现你以前的一些习惯可能会有问题,自己体会吧。
(展开)
不少程序员会放弃的书
足足看了一整天才翻到了最后的后记。 昨天告诉朋友在读此书,朋友看了目录说这个大而全,感觉不到有东西在里面。 说说自己的感受吧。 风格部分最简单,类似于代码大全中的一些。 算法,数据结构很简略,把树拿出来大概能吓跑一堆没经过学习的程序员。 马可夫链很好,立马去翻编…
(展开)
>
更多书评
22篇
论坛
· · · · · ·
| 很浅,很重要 | 来自元创 | 2 回应 | 2011-04-19 09:49:32 |
| 绝对是值得每个(C)程序员一看的好书 | 来自Lee | 2009-01-18 20:36:42 |
这本书的其他版本
· · · · · ·
(
全部7
)
-
9.1分 616人读过
-
9.3分 180人读过
-
9.0分 99人读过
-
8.3分 59人读过
在哪儿借这本书
· · · · · ·
<!–> 图书馆合作–>
以下书单推荐
· · · · · ·
(
全部
)
- 计算机书架
(yukinokaze) - rIPPER 的IT书架
(rIPPER色影师) - 2008年6月购书单
(Hamo) - C++学习之路
(此去经年) - Computer Science
(Laking)
谁读这本书?
· · · · · ·
![]()
ii
2025年9月27日 想读
![]()
shhider
2025年9月14日 想读
![]()
收拾心情
2025年9月1日 想读
![]()
伊丸
2025年7月21日 想读
> 34人在读
> 137人读过
> 486人想读
0 && asides.length > 0 && articles[0].offsetHeight >= asides[0].offsetHeight) {
(global.DoubanAdSlots = global.DoubanAdSlots || []).push(‘dale_book_subject_middle_right’);
}
})(this);
]]>
二手市场
· · · · · ·
· · · · · ·
订阅关于程序设计实践的评论:
feed: rss 2.0
= 2000) {
(global.DoubanAdSlots = global.DoubanAdSlots || []).push(‘dale_book_subject_bottom_super_banner’);
}
})(this);
]]>
© 2005-2026 douban.com, all rights reserved 北京豆网科技有限公司
<![CDATA[
var setMethodWithNs = function(namespace) {
var ns = namespace ? namespace + '.' : ''
, fn = function(string) {
if(!ns) {return string}
return ns + string
}
return fn
}
var gaWithNamespace = function(fn, namespace) {
var method = setMethodWithNs(namespace)
fn.call(this, method)
}
var _gaq = _gaq || []
, accounts = [
{ id: 'UA-7019765-1', namespace: 'douban' }
, { id: 'UA-7019765-16', namespace: '' }
]
, gaInit = function(account) {
gaWithNamespace(function(method) {
gaInitFn.call(this, method, account)
}, account.namespace)
}
, gaInitFn = function(method, account) {
_gaq.push([method('_setAccount'), account.id])
_gaq.push([method('_addOrganic'), 'google', 'q'])
_gaq.push([method('_addOrganic'), 'baidu', 'wd'])
_gaq.push([method('_addOrganic'), 'soso', 'w'])
_gaq.push([method('_addOrganic'), 'youdao', 'q'])
_gaq.push([method('_addOrganic'), 'so.360.cn', 'q'])
_gaq.push([method('_addOrganic'), 'sogou', 'query'])
if (account.namespace) {
_gaq.push([method('_addIgnoredOrganic'), '豆瓣'])
_gaq.push([method('_addIgnoredOrganic'), 'douban'])
_gaq.push([method('_addIgnoredOrganic'), '豆瓣网'])
_gaq.push([method('_addIgnoredOrganic'), 'www.douban.com'])
}
if (account.namespace === 'douban') {
_gaq.push([method('_setDomainName'), '.douban.com'])
}
_gaq.push([method('_setCustomVar'), 1, 'responsive_view_mode', 'desktop', 3])
_gaq.push([method('_setCustomVar'), 2, 'login_status', '0', 2]);
_gaq.push([method('_trackPageview')])
}
for(var i = 0, l = accounts.length; i
作者简介:
原文摘录:


![[加拿大] 布莱恩·克尼汉](https://img3.doubanio.com/view/personage/m/public/10a5f801d3bf42b9f87d15e401faa333.jpg)



