展开全部

主编推荐语

本书以38个话题的形式,从软件开发的角度讲述了如何成为优秀的程序员,是一份“程序员成长课程表”。

内容简介

全书内容涵盖程序员职业生涯的方方面面,共分为五大部分:如何编写代码,有益编程的重要实践,如何打造卓越的编程职业生涯,如何采用切实可行的办法按时交付代码,如何与其他从事软件开发的人高效合作。不管你是经验丰富的开发人员,还是开发新手,抑或只是编程爱好者,都可以从本书中找到有价值的提示。

目录

  • 版权信息
  • O'Reilly Media, Inc. 介绍
  • 献词
  • 本书赞誉
  • 前言
  • 第1章 心系代码
  • 第一部分 编码乃余事
  • 第2章 保持外观整洁
  • 2.1 编码规范不是小事
  • 2.2 它关乎沟通
  • 2.3 排版
  • 2.4 命名
  • 2.5 得体地修改代码
  • 2.6 结论
  • 第3章 写更少的代码
  • 3.1 为什么要关注
  • 3.2 不严谨的逻辑判断
  • 3.3 重复代码
  • 3.4 僵尸代码
  • 3.5 注释
  • 3.6 喋喋不休
  • 3.7 设计缺陷
  • 3.8 空白
  • 3.9 解决之道
  • 3.10 结论
  • 第4章 删除也是一种优化
  • 4.1 代码沉迷
  • 4.2 因为无法避免,所以可以接受
  • 4.3 那又能怎样呢
  • 4.4 唤醒梦中人
  • 4.5 动个手术吧
  • 4.6 结论
  • 第5章 代码之背影
  • 5.1 编码规范
  • 5.2 技术现状
  • 5.3 惯用法
  • 5.4 设计决策
  • 5.5 bug
  • 5.6 结论
  • 第6章 导航路线
  • 6.1 朋友的帮助
  • 6.2 寻找线索
  • 6.3 边干边学
  • 6.4 结论
  • 第7章 走出泥潭
  • 7.1 嗅出问题
  • 7.2 走进泥淖
  • 7.3 用调查说话
  • 7.4 入坑工作
  • 7.5 清理混乱
  • 7.6 做出改变
  • 7.7 编写烂代码就是糟糕的程序员吗
  • 第8章 不可忽视错误
  • 8.1 错误机制
  • 8.2 疯狂的举动
  • 8.3 托词
  • 8.4 结论
  • 第9章 意料之中的意外
  • 9.1 各种错误
  • 9.2 线程
  • 9.3 关闭系统
  • 9.4 话外之意
  • 第10章 bug追踪
  • 10.1 经济考量
  • 10.2 预防胜于治疗
  • 10.3 bug追踪
  • 10.4 不可复现的bug
  • 10.5 结论
  • 第11章 测试时间
  • 11.1 为什么测试
  • 11.2 测试的种类
  • 11.3 什么时候编写测试
  • 11.4 什么时候运行测试
  • 11.5 测试什么
  • 11.6 优质的测试
  • 11.7 一个具体的测试
  • 11.8 测试的结构
  • 11.9 没有代码是孤岛
  • 11.10 结论
  • 第12章 应对复杂性
  • 12.1 圆团
  • 12.2 案例学习:降低圆团复杂度
  • 12.3 线条
  • 12.4 人
  • 12.5 结论
  • 第13章 双城故事
  • 13.1 混乱大都市
  • 13.2 设计之城
  • 13.3 那又怎样
  • 第二部分 刻意练习,成就卓越
  • 第14章 软件开发是……
  • 14.1 软件(食物)那些事
  • 14.2 软件开发是……艺术
  • 14.3 软件开发是……科学
  • 14.4 软件开发是……运动
  • 14.5 软件开发是……做游戏
  • 14.6 软件开发是……鸡毛蒜皮的琐事
  • 14.7 隐喻过多
  • 第15章 遵守规则
  • 15.1 我们需要更多规则!
  • 15.2 制定规则
  • 第16章 保持简单
  • 16.1 简单设计
  • 16.2 简单代码
  • 16.3 保持简单,别做蠢事
  • 16.4 假设会损害简单性
  • 16.5 避免过早优化
  • 16.6 足够简单
  • 16.7 简单结论
  • 第17章 开动脑筋
  • 17.1 别犯傻
  • 17.2 避免盲目
  • 17.3 你可以思考!
  • 第18章 没有一成不变
  • 18.1 大胆地改
  • 18.2 改变态度
  • 18.3 做出改变
  • 18.4 万变不离其宗
  • 第19章 代码复用案例
  • 19.1 代码复用案例1:复制–粘贴
  • 19.2 代码复用案例2:为复用进行设计
  • 19.3 代码复用案例3:提升和重构
  • 19.4 代码复用案例4:购买或重新发明轮子
  • 第20章 高效版本控制
  • 20.1 用进废退
  • 20.2 随便选一个
  • 20.3 存储正确之物
  • 20.4 用好版本控制系统
  • 20.5 分支:只见树木不见森林
  • 20.6 代码的家园
  • 20.7 结论
  • 第21章 让球越过门柱
  • 21.1 软件开发:充满有机肥料的管道
  • 21.2 错误的非黑即白
  • 21.3 通过解决团队问题来修复代码问题
  • 21.4 将构建发送给QA人员
  • 21.5 当你收到故障报告时
  • 21.6 差异使我们更强大
  • 21.7 拼图的碎片
  • 第22章 冻结代码奇事
  • 22.1 寻找代码冻结
  • 22.2 世界新秩序
  • 22.3 冻结的类型
  • 22.4 采用分支解决问题
  • 22.5 不是真正冻结
  • 22.6 代码冻结的时间
  • 22.7 感受代码冻结
  • 22.8 就快结束了
  • 22.9 反代码冻结
  • 22.10 结论
  • 第23章 软件发布
  • 23.1 流程的一部分
  • 23.2 机器上的一个齿轮
  • 23.3 早发布、勤发布
  • 23.4 还有更多……
  • 第三部分 束身修行
  • 第24章 做一个乐知者
  • 24.1 学习什么
  • 24.2 学习如何学习
  • 24.3 学习模型**
  • 24.4 以教促学
  • 24.5 知行合一
  • 24.6 我们学到了什么
  • 第25章 考试驱动型程序员
  • 25.1 把问题讲清楚
  • 25.2 成功使人自满
  • 25.3 考试时光
  • 25.4 考试驱动型程序员
  • 25.5 结论
  • 第26章 享受挑战
  • 26.1 激励
  • 26.2 有哪些挑战
  • 26.3 是谁在说:不要这么做!
  • 26.4 接受挑战
  • 26.5 结论
  • 第27章 避免停滞
  • 27.1 技能就是你的投资
  • 27.2 为本书读者准备的一个练习
  • 27.3 职业安全
  • 第28章 程序员的道德规范
  • 28.1 对代码的态度
  • 28.2 法律问题
  • 28.3 对人的态度
  • 28.4 希波克拉底誓言
  • 28.5 结论
  • 第29章 热爱编程语言
  • 29.1 热爱所有的语言
  • 29.2 热爱你的语言
  • 29.3 与编程语言磨合
  • 29.4 这是一个完美的比喻吗
  • 29.5 结论
  • 第30章 程序员的姿态
  • 30.1 基本的计算机操作姿态
  • 30.2 视觉疲劳
  • 30.3 结论
  • 第四部分 计日程功
  • 第31章 用智不用力
  • 31.1 慎选战场
  • 31.2 战斗策略
  • 31.3 结论
  • 第32章 完成之际即完成
  • 32.1 我们还没到吗
  • 32.2 逆向开发:分解
  • 32.3 定义“完成”
  • 32.4 说干就干
  • 第33章 这次我明白了……
  • 33.1 荒岛式开发
  • 33.2 站在山脚下
  • 第五部分 觅良师益友
  • 第34章 他人之力
  • 34.1 如何实现
  • 34.2 你心目中的专家
  • 34.3 事后诸葛亮
  • 第35章 至关重要的一个认知
  • 35.1 拓展这个隐喻
  • 35.2 责任感是关键
  • 35.3 代码评审
  • 35.4 落地
  • 35.5 定标准
  • 35.6 后续行动
  • 35.7 结论
  • 第36章 说出来!
  • 36.1 编写代码就是沟通
  • 36.2 人与人之间的沟通
  • 36.3 团队之间的沟通
  • 36.4 与客户沟通
  • 36.5 其他沟通
  • 36.6 结论
  • 第37章 各种宣言
  • 37.1 软件开发通用宣言
  • 37.2 就此打住
  • 37.3 一些宣言
  • 37.4 真是这样吗
  • 37.5 画龙点睛
  • 第38章 代码赋
  • 后记
  • 关于作者
  • 关于封面
展开全部

评分及书评

4.3
8个评分
  • 用户头像
    给这本书评了
    5.0
    程序员应该注意的细节

    这本书讲述了一个程序员成长所需要注意的各个方面:你需要反思自己对团队,对同事,对项目,对代码的态度。写代码,看代码,重构代码的具体方法和细节。在做项目的过程中,如何高效准确地 debug,怎么对工作做计划,如何拆解复杂的任务,如何掌控工作的节奏等。如果刚刚工作的那一年看了这本书,我应该会成长的更快吧,起码基础性的低级错误不会犯了。

      转发
      评论
      用户头像
      给这本书评了
      5.0

      本书经过精心设计,可以作为同事之间互相指导的有效工具,适用于一对一和学习小组等形式。利用本书的最佳方式,不是按部就班地一起学习各个章节,而是各自阅读完一章后一起讨论切磋。各章的思考题是很好的讨论出发点,推荐大家试一试。

        转发
        评论
        用户头像
        给这本书评了
        4.0

        这篇文章中,我觉得收获最大的内容是关于 git 仓库管理,特别是原子提交这一节

          转发
          评论

        出版方

        人民邮电出版社

        人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。