小步快跑,快速迭代-《高效程序员的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

相关文章

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX