搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
程序员的职业素养
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115291578
  • 作      者:
    (美)Robert C. Martin著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2012
收藏
编辑推荐
  

     《程序员的职业素养》适合所有程序员,也可供所有想成为具备职业素养的职场人士参考。

展开
作者简介
     Robert C. Martin,世界级软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report 前主编,被后辈程序员尊称为“Bob大叔”。20世纪70年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客,除本书外,还著有《代码整洁之道》、《敏捷软件开发:原则、模式和实践》、《UML:Java程序员指南》等。他最近创办了cleancoders.com网站,专为软件开发人员提供教育视频。

     译者简介:
     章显洲,阿里巴巴高级技术专家,敏捷与精益方法实践者,专注于敏捷与精益管理,擅长互联网研发团队的构建与改善。业余以技术翻译作为个人修炼与回馈软件开发社区的途径。自2009年来,翻译和合译的技术书籍包含《精益软件开发艺术》、《微软的秘密》、《软件架构师应该知道的97件事》、《程序员的职业素养》、《看板》。偶尔也会出现在技术社区的聚会上作一些分享和演讲。

     余晟,毕业于东北师范大学计算机系,副修中文,非正统型技术爱好者。曾任抓虾网、银杏泰克主力程序员,盛大创新院高级研究员,现任华南某电商公司技术总监。坚信计算机可以无限延伸人的能力,前提是人必须理解计算机的逻辑,所以对任何技术都不应该浅尝辄止,仅仅满足于“会用”。
展开
内容介绍
    《程序员的职业素养》是编程大师Bob大叔40余年编程生涯的心得体会, 讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。
    《程序员的职业素养》适合所有程序员,也可供所有想成为具备职业素养的职场人士参考。
展开
精彩书评
     “毫无疑问,Bob大叔的这本新作又一次抬高了专业程序员的门槛。在书中,他从交互管理、时间管理、压力管理、合作方法以及工具选择等诸多方面,阐述了他对一名专业程序员的期望。Bob并不囿于对TDD和ATDD的传授,他不仅解释了每一名自视为专业人士的程序员所需要知道的东西,而且指出了他们需要在历练尚浅的软件开发职业生涯中需要不断精进的内容。”
     —— Markus G·rtner,it-agile公司资深软件开发者

     “有一些技术书颇具启发和教益,有一些则读来轻松喜悦且富有趣味,但很少有技术书籍能够同时兼具所有这四个特色。我感觉Martin所有的书都可归入此列。本书也不例外。 阅读、学习和守持书中的教诲,你将可以信心满满地把自己训练为软件专业人士。”
     ——George Bullock,微软公司资深程序经理

     “如果计算机科学学位要求有‘毕业后必读书单’,本书当在其列。在现实的职业生涯中,糟糕的代码不会因学期结束就此消失,程序员也不会因加班加点开夜车编码便可获得A级评分,而雪上加霜的是,你还必须抽出精力与人打交道。就算你是个编程高手,也并不一定就可以称为专业人士。本书描述了迈向专业程序员的修炼旅程……而且阅读起来确实异常有趣。”
     ——Jeff Overvey,伊利诺伊大学厄本那-香槟分校

     “本书远不只是给出了一套规则或指导方针,它还包含了无数来之不易的智慧和知识,这些宝贵财富通常只有经历过多年的试错,历经由初级学徒修炼成为大师级工匠的整个过程才能获得。如果你期望自己能成为软件专业人士,那么本书不容错过。”
     ——R.L. Bogetti·,Baxter Healthcare公司系统主设计师
展开
目录
第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  注意力点数
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  结论

附录  工具
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证