展开全部

主编推荐语

编程大师40余年心得体会,阐释软件工艺中的原理、技术、工具和实践,助力专业软件开发人员具备令人敬佩的职业素养。

内容简介

本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。

目录

  • 版权信息
  • 内容提要
  • 献辞
  • 译者序1 享受职业素养
  • 译者序2 负阴抱阳,知行合一
  • 关于封面图片
  • 前言
  • 致谢
  • 必读引言
  • 第1章 专业主义
  • 1.1 清楚你要什么
  • 1.2 担当责任
  • 1.3 首先,不行损害之事
  • 1.3.1 不要破坏软件功能
  • 1.3.2 不要破坏结构
  • 1.4 职业道德
  • 1.4.1 了解你的领域
  • 1.4.2 坚持学习
  • 1.4.3 练习
  • 1.4.4 合作
  • 1.4.5 辅导
  • 1.4.6 了解业务领域
  • 1.4.7 与雇主/客户保持一致
  • 1.4.8 谦逊
  • 1.5 参考文献
  • 第2章 说“不”
  • 2.1 对抗角色
  • “为什么”重要吗
  • 2.2 高风险时刻
  • 2.3 要有团队精神
  • 2.3.1 试试看
  • 2.3.2 消极对抗
  • 2.4 说“是”的成本
  • 2.5 如何写出好代码
  • 第3章 说“是”
  • 3.1 承诺用语
  • 3.1.1 识别“缺乏承诺”的征兆
  • 3.1.2 真正的承诺听起来是怎样的
  • 3.1.3 总结
  • 3.2 学习如何说“是”
  • 3.2.1 “试试”的另一面
  • 3.2.2 坚守原则
  • 3.3 结论
  • 第4章 编码
  • 4.1 做好准备
  • 4.1.1 凌晨3点写出的代码
  • 4.1.2 焦虑时写下的代码
  • 4.2 流态区
  • 4.2.1 音乐
  • 4.2.2 中断
  • 4.3 阻塞
  • 创造性输入
  • 4.4 调试
  • 调试时间
  • 4.5 保持节奏
  • 4.5.1 知道何时应该离开一会
  • 4.5.2 开车回家路上
  • 4.5.3 洗澡
  • 4.6 进度延迟
  • 4.6.1 期望
  • 4.6.2 盲目冲刺
  • 4.6.3 加班加点
  • 4.6.4 交付失误
  • 4.6.5 定义“完成”
  • 4.7 帮助
  • 4.7.1 帮助他人
  • 4.7.2 接受他人的帮助
  • 4.7.3 辅导
  • 4.8 参考文献
  • 第5章 测试驱动开发
  • 5.1 此事已有定论
  • 5.2 TDD的三项法则
  • 5.3 TDD的优势
  • 5.3.1 确定性
  • 5.3.2 缺陷注入率
  • 5.3.3 勇气
  • 5.3.4 文档
  • 5.3.5 设计
  • 5.3.6 专业人士的选择
  • 5.4 TDD的局限
  • 5.5 参考文献
  • 第6章 练习
  • 6.1 引子
  • 6.1.1 10的22次方
  • 6.1.2 转变
  • 6.2 编程柔道场
  • 6.2.1 卡塔
  • 6.2.2 瓦萨
  • 6.2.3 自由练习
  • 6.3 自身经验的拓展
  • 6.3.1 开源
  • 6.3.2 关于练习的职业道德
  • 6.4 结论
  • 6.5 参考文献
  • 第7章 验收测试
  • 7.1 需求的沟通
  • 7.1.1 过早精细化
  • 7.1.2 迟来的模糊性
  • 7.2 验收测试
  • 7.2.1 “完成”的定义
  • 7.2.2 沟通
  • 7.2.3 自动化
  • 7.2.4 额外工作
  • 7.2.5 验收测试什么时候写,由谁来写
  • 7.2.6 开发人员的角色
  • 7.2.7 测试的协商与被动推进
  • 7.2.8 验收测试和单元测试
  • 7.2.9 图形界面及其他复杂因素
  • 7.2.10 持续集成
  • 7.3 结论
  • 第8章 测试策略
  • 8.1 QA应该找不到任何错误
  • 8.1.1 QA也是团队的一部分
  • 8.1.2 需求规约定义者
  • 8.1.3 特性描述者
  • 8.2 自动化测试金字塔
  • 8.2.1 单元测试
  • 8.2.2 组件测试
  • 8.2.3 集成测试
  • 8.2.4 系统测试
  • 8.2.5 人工探索式测试
  • 8.3 结论
  • 8.4 参考文献
  • 第9章 时间管理
  • 9.1 会议
  • 9.1.1 拒绝
  • 9.1.2 离席
  • 9.1.3 确定议程与目标
  • 9.1.4 立会
  • 9.1.5 迭代计划会议
  • 9.1.6 迭代回顾和DEMO展示
  • 9.1.7 争论/反对
  • 9.2 注意力点数“注意力点数”的“点数”原文为manna,出自《圣经》中以色列人漂泊荒野时上帝赐予的食物,如今也常见于各种魔幻游戏。——译者注
  • 9.2.1 睡眠
  • 9.2.2 咖啡因
  • 9.2.3 恢复
  • 9.2.4 肌肉注意力
  • 9.2.5 输入与输出
  • 9.3 时间拆分和番茄工作法
  • 9.4 要避免的行为
  • 优先级错乱
  • 9.5 死胡同
  • 9.6 泥潭
  • 9.7 结论
  • 第10章 预估
  • 10.1 什么是预估
  • 10.1.1 承诺
  • 10.1.2 预估
  • 10.1.3 暗示性承诺
  • 10.2 PERT
  • 10.3 预估任务
  • 德尔菲法
  • 10.4 大数定律
  • 10.5 结论
  • 10.6 参考文献
  • 第11章 压力
  • 11.1 避免压力
  • 11.1.1 承诺
  • 11.1.2 保持整洁
  • 11.1.3 危机中的纪律
  • 11.2 应对压力
  • 11.2.1 不要惊慌失措
  • 11.2.2 沟通
  • 11.2.3 依靠你的纪律原则
  • 11.2.4 寻求帮助
  • 11.3 结论
  • 第12章 协作
  • 12.1 程序员与人
  • 12.1.1 程序员与雇主
  • 12.1.2 程序员与程序员
  • 12.2 小脑
  • 12.3 结论
  • 第13章 团队与项目
  • 13.1 只是简单混合吗
  • 13.1.1 有凝聚力的团队
  • 13.1.2 如何管理有凝聚力的团队
  • 13.1.3 项目承包人的困境
  • 13.2 结论
  • 13.3 参考文献
  • 第14章 辅导、学徒期与技艺
  • 14.1 失败的学位教育
  • 14.2 辅导
  • 14.2.1 DIGI-COMP I,我的第一台计算机
  • 14.2.2 高中时代的ECP-18
  • 14.2.3 非常规辅导
  • 14.2.4 艰难的锤炼
  • 14.3 学徒期
  • 14.3.1 软件学徒期
  • 14.3.2 现实情况
  • 14.4 技艺
  • 觉者觉人
  • 14.5 结论
  • 附录 工具
  • A.1 工具
  • A.2 源代码控制
  • A.2.1 “企业级”源代码控制系统
  • A.2.2 悲观锁与乐观锁
  • A.2.3 CVS/SVN
  • A.3 集成开发环境/编辑器
  • A.3.1 vi
  • A.3.2 Emacs
  • A.3.3 Eclipse/IntelliJ
  • A.3.4 TextMate
  • A.4 问题跟踪
  • bug数量
  • A.5 持续构建
  • A.6 单元测试工具
  • A.7 组件测试工具
  • A.7.1 “完成”的定义
  • A.7.2 FitNesse
  • A.7.3 其他工具
  • A.8 集成测试工具
  • A.9 UML/MDA
  • A.9.1 细节
  • A.9.2 没有希望,没有改变
  • A.10 结论
展开全部

评分及书评

4.5
71个评分
  • 用户头像
    给这本书评了
    4.0
    观念可以参考

    Robert C. Martin 编著的《程序员的职业素养》具体内容包括:成为真正的软件专业人士需要鼻备哪些条件,如何应对彼此冲突又紧张的进度表和不近情理的管理人员,如何做到流畅编程,克服阻塞状态,应对无休止的工作压力的方法,培养坚持不懈的态度,拥抱新的开发范式、以及如何管理好时间,如何培育有利于程序员和开发团队茁壮成长的环境等。《程序员的职业素养》这本书中没有任何一行代码,但是却将程序员应该具有的本质,应该具备的能力与该养成的习惯,都说明的很清楚。以上这些,不光是对程序员,亦可供所有想成为具备职业素养的职场人士参考。

      转发
      评论
      用户头像
      给这本书评了
      4.0
      锻炼深度工作的能力

      这本书的名字是代码整洁之道,但实际上,全书几乎没有涉及到任何代码的细节。本书是从道的层面,而非术的层面,来探讨如何写出鲁棒,可维护的代码。首先,拼命去满足不合理的设计要求和时间期限,其实是不专业的表现。在我们能做到的范围内,言而有信,交付高质量的代码,要远远好过避免冲突,答应任何要求的情况。在交付代码之前,我们要做好单元测试。程序员要比 QA 更懂自己的代码,这才算做专业。当 QA 测试到自己代码的盲区时,去钻研和学习这部分内容, 使得下一次的代码更加鲁棒。另外,不要单纯追求新技术。 Get your hands dirty,能够上线的有些乱的代码,要远远好过一直不能上线的优美代码。要有勇气说不。当需求不合理,或者别人总来打断你深度工作时,要礼貌而客气地告诉对方你自己的诉求,然后在深度工作之后,去处理和解决对方的事情。利用自己的业余时间,给自己充电。老板不为你自己的成长,是你自己在为自己的成长负责。真正好的领导,不仅珍惜自己的时间,也珍惜团队成员的时间,减少不必要的会议,并且在必须参加的会议上,尽可能的提升效率。在团队内部,形成有效的协作,而非单打独斗,就可以形成一个有战斗力的团队。一般这样的团队在 3~20 人之间,最佳配置是 12 人左右。最后,珍惜你自己的注意力,时刻让自己处于深度工作的状态,才是有专业素养的表现。

        1
        评论
        用户头像
        给这本书评了
        4.0
        软技能

        不太硬核

          转发
          评论
        • 查看全部25条书评

        出版方

        人民邮电出版社

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