小步快跑,快速迭代-《高效程序员的45个习惯》读书笔记

2024-04-25 08:18

本文主要是介绍小步快跑,快速迭代-《高效程序员的45个习惯》读书笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

高效程序员的45个习惯简短有力,对敏捷开发中遇到的问题做了原则上的指导,刚工作的程序员可以获得新知形成良好习惯,有经验的开发也可以对照着纠正自己的一些固有习惯。

虽然有些习惯纯属凑字用,还有些重复,对照着依然可以从中发现自己缺失的习惯:

  1. 打破砂锅问到底:不满足于解决问题,而是要从解决问题过程中深究问题根源,不要解第二次
  2. 使用单元测试:从现在开始使用
  3. 记录解决问题的日志:记录下来,才能印象深刻,吸取教训
  4. 做代码复查:写完代码后不要马上提交
  5. 及时通报进展与问题:主动通报,不要等别人来问

以下是书摘:


译者对本书的总结如下:

迭代开发,价值优先
分解任务,真实进度站立会议,交流畅通
用户参与,调整方向结对编程,代码质量
测试驱动,安全可靠持续集成,尽早反馈
自动部署,一键安装定期回顾,持续改进
不断学习,提高能力

敏捷开发宣言:

- 个体和交互胜过过程和工具
- 可工作的软件胜过面面俱到的文档
- 客户协作胜过合同谈判
- 响应开发胜过遵循计划

虽然右项也有价值,但左项有更大的价值

敏捷开发就是在一个高度协作的环境中,不断地使用反馈进行自我调整和完善

首先要解决困难的问题,把简单的问题留到最好

敏捷开发的45个习惯

  1. 把矛头对准解决问题的方法,而不是人
  2. 不要急于修复一段没有真正理解的代码
  3. 对事不对人
  4. 做正确的事。要诚实,要有勇气去说出实情
  5. 跟踪技术变化。你不需要精通所有技术,但需要清楚知道行业的动向,从而规划你的项目和职业生涯
    • 搞明白为什么需要这项技术,它试图解决什么问题,它可以用在什么地方
    • 迭代和增量式学习:每天学习一点,技术更好一点
  6. 对团队投资
    • 多分享,不局限与技术
    • 午餐会议
  7. 懂得丢弃
    • 拥抱变化
    • 学习新的东西,丢弃旧的东西
  8. 打破砂锅问到底
    • 不停问为什么,不要满足别人告诉你的表面现象,要不断提问知道你找到问题根源
  9. 把握开发节奏
    • 站立会议
    • 庆祝每一次难忘的成功
    • 不要经常加班
  10. 让客户做决定
  11. 软件设计满足实现即可,无须过细
  12. 合理使用技术
    • 根据需要选择技术
    • 不重复开发已有的东西
  13. 保持你的项目随时可以发布
  14. 提早集成,频繁集成
  15. 提早实现自动部署
  16. 使用演示获得频繁反馈
  17. 使用短迭代,增量开发
  18. 基于真实工作做评估
  19. 代码守护天使:使用单元测试
  20. 测试驱动开发
  21. 不同环境,就有不同问题
  22. 自动验收测试
  23. 度量真实的进度
  24. 倾听用户的声音
    • 每一个抱怨的背后都隐藏了一个事实
  25. 代码要清晰地表达意图
  26. 用代码沟通:选择有意义的命名,用注释描述代码意图和约束
  27. 动态评估取舍
  28. 增量式编程
  29. 保持代码简单可读性高
  30. 编写内聚代码:类功能尽量集中,让组件尽量小
  31. 将命令与查询分离开
  32. 根据契约进行替换:多用委托少用继承
  33. 记录解决问题的日志
    • 不要在同一处跌倒两次
  34. 把警告当错误处理
  35. 对问题各个击破
  36. 报告所有异常:不要压制异常
  37. 给用户提供有用的错误信息
  38. 定期安排团队成员会面时间:每日立会
  39. 架构师必须写代码
    • 程序员在拒绝设计的同时,也就放弃了思考
  40. 强调代码的集体所有制:让开发人员轮换完成系统不同领域中的不同模块的不同任务
  41. 成为指导者:分享自己的知识,教学相长
  42. 给别人解决问题的机会
  43. 准备好后再提交代码
  44. 做代码复查
    • 代码是否可以被读懂和理解
    • 是否有明显的缺陷
    • 代码是否会对应用其它部分产生不良影响
    • 是否存在重复代码
    • 是否存在可以改进或重构的部分
  45. 及时通报进展与问题:不要等着别人来问题项目状态如何

这篇关于小步快跑,快速迭代-《高效程序员的45个习惯》读书笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/934152

相关文章

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s