您好,欢迎来到聚文网。 登录 免费注册
程序员的38堂成长课

程序员的38堂成长课

  • 字数: 461000
  • 装帧: 平装
  • 出版社: 人民邮电出版社
  • 作者: (英)皮特·古德利夫
  • 出版日期: 2022-01-01
  • 商品条码: 9787115577948
  • 版次: 1
  • 开本: 16开
  • 页数: 312
  • 出版年份: 2022
定价:¥109.8 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
本书作者以38个话题为切入点,用幽默诙谐的笔触为你提炼出很好程序员常用的方法和技巧。 每一章篇幅虽短,却发人深省,章末配有令人忍俊不禁的漫画。 无论在工作中使用哪种编程语言,你都将在轻松的阅读过程中不知不觉地提升作为程序员的第六感--代码感。 同样是程序员,为什么别人能构筑坚固的代码堡垒,而自己却深陷代码泥潭?为什么别人能写出美得像艺术品、优雅得像诗歌的代码,而自己却与几个月前才亲手写的代码形同陌路?亲爱的读者朋友,请不要妄自菲薄。其他程序员固然很好,但你也不错。或许,你需要的仅仅是有效的方法和技巧。 ●让每一行代码都充满匠心的编写技巧、测试技巧和调试技巧 ●很好程序员爱用的编程实践和方法,以及应有的工作态度 ●让编程生涯稳步提升的诀窍和学习的战术 ●把事做完和做好的方法,正确使用工具,积极寻求帮助 ●程序员应该如何寻觅良师益友
内容简介
本书以38个话题的形式,从软件开发的角度讲述了如何成为优秀的程序员,是一份“程序员成长课程表”。全书内容涵盖程序员职业生涯的方方面面,共分为五大部分:如何编写代码,有益编程的重要实践,如何打造很好的编程职业生涯,如何采用切实可行的办法按时交付代码,如何与其他从事软件开发的人高效合作。不管你是经验丰富的开发人员,还是开发新手,抑或只是编程爱好者,都可以从本书中找到有价值的提示。本书适合所有想写出优秀代码和想提高编程技艺的程序员阅读。
目录
前言xix
第1章心系代码1
第一部分编码乃余事
第2章保持外观整洁6
2.1编码规范不是小事7
2.2它关乎沟通8
2.3排版9
2.3.1结构合理9
2.3.2一致性10
2.4命名11
2.4.1简洁12
2.4.2清晰12
2.4.3地道12
2.4.4准确12
2.5得体地修改代码13
2.6结论13
第3章写更少的代码15
3.1为什么要关注16
3.2不严谨的逻辑判断16
3.3重复代码19
3.4僵尸代码20
3.5注释21
3.6喋喋不休22
3.7设计缺陷23
3.8空白24
3.9解决之道24
3.10结论25
第4章删除也是一种优化27
4.1代码沉迷28
4.2因为无法避免,所以可以接受28
4.3那又能怎样呢29
4.4唤醒梦中人30
4.5动个手术吧30
4.6结论31
第5章代码之背影33
5.1编码规范34
5.2技术现状35
5.3惯用法36
5.4设计决策37
5.5bug37
5.6结论38
第6章导航路线41
6.1朋友的帮助42
6.2寻找线索42
6.3边干边学45
6.3.1低垂的果实45
6.3.2代码检测46
6.3.3先研究,再行动46
6.3.4测试先行46
6.3.5整理内务46
6.3.6记录你的发现47
6.4结论47
第7章走出泥潭50
7.1嗅出问题50
7.2走进泥淖51
7.3用调查说话51
7.4入坑工作52
7.5清理混乱53
7.6做出改变53
7.7编写烂代码就是糟糕的程序员吗54
第8章不可忽视错误57
8.1错误机制58
8.2疯狂的举动59
8.3托词59
8.4结论60
第9章意料之中的意外62
9.1各种错误62
9.2线程63
9.3关闭系统63
9.4话外之意63
第10章bug追踪66
10.1经济考量67
10.2预防胜于治疗67
10.3bug追踪68
10.3.1捕获错误68
10.3.2活用二分法69
10.3.3软件考古69
10.3.4测试,测试,再测试70
10.3.5磨刀不误砍柴工70
10.3.6用排除法查找问题71
10.3.7保持清洁,预防疾病71
10.3.8迂回策略72
10.3.9不要急于离开72
10.4不可复现的bug72
10.5结论74
第11章测试时间76
11.1为什么测试76
11.1.1缩短反馈循环77
11.1.2测试代码的代码77
11.1.3谁来编写测试78
11.2测试的种类78
11.3什么时候编写测试79
11.4什么时候运行测试80
11.5测试什么81
11.6优质的测试81
11.7一个具体的测试83
11.8测试的结构84
11.8.1测试的维护84
11.8.2选择测试框架85
11.9没有代码是孤岛85
11.10结论87
第12章应对复杂性89
12.1圆团90
12.2案例学习:降低圆团复杂度92
12.3线条93
12.4人96
12.5结论96
第13章双城故事99
13.1混乱大都市100
13.1.1让人无法理解100
13.1.2缺乏内聚101
13.1.3不必要的耦合102
13.1.4代码问题102
13.1.5代码之外的问题103
13.1.6一张来自大都市的明信片103
13.2设计之城104
13.2.1合理放置功能105
13.2.2一致性105
13.2.3架构的演进105
13.2.4延缓设计决策106
13.2.5保证质量106
13.2.6管理技术债107
13.2.7测试方案设计107
13.2.8设计时间分配108
13.2.9与设计同行108
13.3那又怎样109
第二部分刻意练习,成就很好
第14章软件开发是……114
14.1软件(食物)那些事114
14.2软件开发是……艺术115
14.3软件开发是……科学116
14.4软件开发是……运动118
14.5软件开发是……做游戏119
14.6软件开发是……鸡毛蒜皮的琐事120
14.7隐喻过多121
第15章遵守规则123
15.1我们需要更多规则!124
15.2制定规则125
第16章保持简单127
16.1简单设计128
16.1.1简单易用128
16.1.2防止误用128
16.1.3大小很重要128
16.1.4代码调用路径短129
16.1.5稳定性129
16.2简单代码129
16.3保持简单,别做蠢事130
16.4假设会损害简单性130
16.5避免过早优化130
16.6足够简单131
16.7简单结论131
第17章开动脑筋133
17.1别犯傻133
17.2避免盲目134
17.3你可以思考!135
第18章没有一成不变137
18.1大胆地改138
18.2改变态度139
18.3做出改变140
18.3.1规划改变140
18.3.2改变的工具140
18.3.3慎重地选择战场141
18.4万变不离其宗141
第19章代码复用案例143
19.1代码复用案例1:复制–粘贴143
19.2代码复用案例2:为复用进行设计144
19.3代码复用案例3:提升和重构145
19.4代码复用案例4:购买或重新发明轮子145
第20章高效版本控制148
20.1用进废退149
20.2随便选一个150
20.3存储正确之物150
20.3.1答案一:存储所有150
20.3.2答案二:存储尽可能少的文件151
20.3.3存储软件版本152
20.3.4代码库的布局152
20.4用好版本控制系统152
20.4.1原子提交152
20.4.2提供正确的信息153
20.4.3精心创建代码提交153
20.5分支:只见树木不见森林154
20.6代码的家园155
20.7结论155
第21章让球越过门柱158
21.1软件开发:充满有机肥料的管道159
21.2错误的非黑即白160
21.3通过解决团队问题来修复代码问题161
21.4将构建发送给QA人员162
21.4.1首优选行自测163
21.4.2明确发布意图163
21.4.3欲速则不达164
21.4.4自动化164
21.4.5尊重164
21.5当你收到故障报告时165
21.6差异使我们更强大166
21.7拼图的碎片166
第22章冻结代码奇事169
22.1寻找代码冻结169
22.2世界新秩序170
22.3冻结的类型171
22.4采用分支解决问题172
22.5不是真正冻结172
22.6代码冻结的时间173
22.7感受代码冻结173
22.8就快结束了174
22.9反代码冻结174
22.10结论175
第23章软件发布177
23.1流程的一部分178
23.2机器上的一个齿轮179
23.2.1第1步:初始化发布179
23.2.2第2步:准备发布179
23.2.3第3步:构建发布180
23.2.4第4步:打包181
23.2.5第5步:部署181
23.3早发布、勤发布182
23.4还有更多……182
第三部分束身修行
第24章做一个乐知者186
24.1学习什么187
24.2学习如何学习188
24.3学习模型190
24.4以教促学192
24.5知行合一192
24.6我们学到了什么193
第25章考试驱动型程序员195
25.1把问题讲清楚196
25.2成功使人自满196
25.3考试时光197
25.4考试驱动型程序员197
25.5结论198
第26章享受挑战200
26.1激励200
26.2有哪些挑战201
26.3是谁在说:不要这么做!201
26.4接受挑战202
26.5结论203
第27章避免停滞204
27.1技能就是你的投资205
27.2为本书读者准备的一个练习205
27.3职业安全206
第28章程序员的道德规范209
28.1对代码的态度210
28.2法律问题211
28.3对人的态度211
28.3.1队友212
28.3.2管理者213
28.3.3雇主213
28.3.4你自己214
28.4希波克拉底誓言214
28.5结论214
第29章热爱编程语言217
29.1热爱所有的语言217
29.2热爱你的语言219
29.3与编程语言磨合220
29.3.1爱和尊重220
29.3.2承诺220
29.3.3沟通221
29.3.4耐心221
29.3.5共同的价值观222
29.4这是一个完美的比喻吗222
29.5结论222
第30章程序员的姿态224
30.1基本的计算机操作姿态224
30.1.1调试代码时的姿态226
30.1.2当情况恶化时227
30.1.3通宵加班227
30.1.4高层介入干预228
30.1.5警报解除228
30.1.6设计阶段229
30.2视觉疲劳229
30.3结论230
第四部分计日程功
第31章用智不用力234
31.1慎选战场235
31.2战斗策略235
31.2.1复用智慧235
31.2.2转变成别人的问题235
31.2.3只做必须做的236
31.2.4使用探针试验236
31.2.5排优先级236
31.2.6确认什么是真正需要的237
31.2.7一次只做一件事237
31.2.8保持简单237
31.2.9不要拖延和积累问题238
31.2.10自动化238
31.2.11预防错误238
31.2.12沟通239
31.2.13避免过度疲劳239
31.2.14强大的工具239
31.3结论239
第32章完成之际即完成242
32.1我们还没到吗242
32.2逆向开发:分解243
32.3定义“完成”244
32.4说干就干246
第33章这次我明白了……249
33.1荒岛式开发251
33.2站在山脚下252
第五部分觅良师益友
第34章他人之力256
34.1如何实现257
34.2你心目中的专家258
34.3事后诸葛亮258
第35章至关重要的一个认知261
35.1拓展这个隐喻262
35.2责任感是关键262
35.3代码评审263
35.4落地263
35.5定标准264
35.6后续行动264
35.7结论265
第36章说出来!267
36.1编写代码就是沟通267
36.1.1和机器说话267
36.1.2和生灵说话268
36.1.3和工具说话270
36.2人与人之间的沟通270
36.2.1交谈方式270
36.2.2注意你的言辞271
36.2.3肢体语言271
36.2.4并行沟通272
36.3团队之间的沟通272
36.4与客户沟通273
36.5其他沟通273
36.6结论273
第37章各种宣言276
37.1软件开发通用宣言277
37.2就此打住277
37.3一些宣言277
37.4真是这样吗277
37.5画龙点睛278
第38章代码赋281
后记285

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网