腾讯-搜搜优秀开发人员的十个
      习惯
 课程设计人:钱安川-研发管理组
如何才能优秀?
• 优秀=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)
谢谢 && 问题

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