SlideShare une entreprise Scribd logo
1  sur  16
腾讯-搜搜优秀开发人员的十个
      习惯
 课程设计人:钱安川-研发管理组
如何才能优秀?
• 优秀=1万小时 + 50万行代码
如果你根本不知道自己在讨论什
么,那么对其强求精确是毫无意
义的。
 ——约翰·冯·诺依曼(John
von Neumann)
1、提问,直到你明白(Question until
     you understand)
• 在开发时,要明白为什么需要做这样一个
  功能,它有什么价值?
• 遇到Bug或者技术问题时,不要从表面上修
  复(这是Hack),应该找到问题的根源,
  从根本上修复它
• 学会5why
2、获得反馈(Get feedback)
•   测试先行
•   自测
•   主动演示
•   灰度发布
3、简约(Simplicity is beauty)
•   软件的本质:解决复杂度
•   做减法
•   核心+精炼
•   表达业务逻辑
•   分层机制
•   简约且有生命力的代码
4、2:8原则
• 代码优化80 + 20
• 优先级
勿以恶小而为之,勿以善小而
     不为。
——《三国志·蜀书·先主传》
5、驾驭自己的技术和工具
• 熟悉编程语言和最佳实践
• 不用鼠标,快捷键操作
• 独立编程,不用邪恶
  的Copy&&Paste
• 健壮的代码,考虑了完整
  的边界和可能的性能问题
• 小步前进,每一步可重复、可控、可驾驭
6、及时修复破窗户(Fix broken
      window)
• 没修复的破窗,导致更多的窗户被打破
7、DRY原则(Don’t repeat yourself)
• 代码重用和共享,避免重复开发 (Don’t
  reinvent wheels)
8、一切自动化(Automate everything,
     Do nothing twice)
• 一键式的打包编译和部署
• 自动化的测试
9、保持一致性(Keep consistency)
• 遵循代码规范。以同样的风格写代码,才
  便于review 和交流
• 前后一致的术语
用心——态度决定一切
10、做事(Work for outcome)
• 每年都要学习一门新的编程语言——Martin
  Flower
• 指责不能修复Bug(Blame doesn’t fix bugs)
• 对事不对人(Critical idea not people)
谢谢 && 问题

Contenu connexe

Similaire à 腾讯 搜搜开发人员的十个习惯

Why do we need backend testing
Why do we need backend testingWhy do we need backend testing
Why do we need backend testingChen Liwei
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to pythonimetliao
 
Doc 2011101404575913
Doc 2011101404575913Doc 2011101404575913
Doc 2011101404575913Rhythm Sun
 
先不談 agile 不 agile 了,你有聽過 deadline 嗎?
先不談 agile 不 agile 了,你有聽過 deadline 嗎?先不談 agile 不 agile 了,你有聽過 deadline 嗎?
先不談 agile 不 agile 了,你有聽過 deadline 嗎?Terry Wang
 
程序员与技术
程序员与技术程序员与技术
程序员与技术ligaoren
 
啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱Jen-Chieh Ko
 
超越敏捷开发(成就敏捷企业之道)
超越敏捷开发(成就敏捷企业之道)超越敏捷开发(成就敏捷企业之道)
超越敏捷开发(成就敏捷企业之道)Weijun Zhong
 
產品企劃分享版2010十一月
產品企劃分享版2010十一月產品企劃分享版2010十一月
產品企劃分享版2010十一月Mr PM
 
银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011Yi Xu
 
App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0信宏 陳
 
問題的分析與解決
問題的分析與解決問題的分析與解決
問題的分析與解決Alan Feng
 
最终 大屏手机上的设计策略
最终 大屏手机上的设计策略最终 大屏手机上的设计策略
最终 大屏手机上的设计策略麦哥UE
 
軟體專案管理與開源精神
軟體專案管理與開源精神軟體專案管理與開源精神
軟體專案管理與開源精神承澤 林
 

Similaire à 腾讯 搜搜开发人员的十个习惯 (13)

Why do we need backend testing
Why do we need backend testingWhy do we need backend testing
Why do we need backend testing
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Doc 2011101404575913
Doc 2011101404575913Doc 2011101404575913
Doc 2011101404575913
 
先不談 agile 不 agile 了,你有聽過 deadline 嗎?
先不談 agile 不 agile 了,你有聽過 deadline 嗎?先不談 agile 不 agile 了,你有聽過 deadline 嗎?
先不談 agile 不 agile 了,你有聽過 deadline 嗎?
 
程序员与技术
程序员与技术程序员与技术
程序员与技术
 
啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱
 
超越敏捷开发(成就敏捷企业之道)
超越敏捷开发(成就敏捷企业之道)超越敏捷开发(成就敏捷企业之道)
超越敏捷开发(成就敏捷企业之道)
 
產品企劃分享版2010十一月
產品企劃分享版2010十一月產品企劃分享版2010十一月
產品企劃分享版2010十一月
 
银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011
 
App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0
 
問題的分析與解決
問題的分析與解決問題的分析與解決
問題的分析與解決
 
最终 大屏手机上的设计策略
最终 大屏手机上的设计策略最终 大屏手机上的设计策略
最终 大屏手机上的设计策略
 
軟體專案管理與開源精神
軟體專案管理與開源精神軟體專案管理與開源精神
軟體專案管理與開源精神
 

腾讯 搜搜开发人员的十个习惯