打卡3本书10句话-06
为什么精英可以打造10倍高效团队 131
- 指示正确的前进道路:(决定,决断,结论,解决)
- 不管什么样的团队,肯定都会遇到岔路口,这个时候,选择哪条路,这个决定将左右团队的命运
- 没人会教你做决定的正确方法
- 三个臭皮匠赛过诸葛亮(面对一个问题,多人商量之后的结果,大概率是不合适的)“集团思考”
- 独裁 VS 少数派 VS 合议
- 认同感【独裁>少数服从多数>合议】
- 时间【独裁<少数服从多数<合议】
- 为合议提速,KT决策法
- 状况把握
- 问题分析
- 决策分析DA
- 潜在的问题,潜在的机会分析
- 强有力,快速
- 影响力(专业性,回报性,个人魅力,威严性,一贯性)“影响力的武器”
- 更多的选择,标准靠前
- Action checklist 检查清单
- 团队能够根据实际情况选择最合适的决策方法吗?
- 团队中能够进行快速且具有重现性的讨论吗?
- 团队中的决策者敢于直面孤独,果断地做出决定吗?
- 作为团队成员,您能够把决策的决定贯彻到底,并将其做成“正确答案”吗?
- 在需要做决定的时机,您能“果断”,“快速”的做出决定吗?
架构整洁之道130
- 组件耦合
- 无依赖原则(依赖关系图不应该出现环)
- 每周构建
- 消除循环♻️依赖
- 循环依赖的影响
- 打破循环依赖(依赖反转)
- 自上而下的设计
- 稳定依赖原则
- 稳定性
- 稳定性指标(入向依赖,出向依赖,不稳定性)
- 并不是所有组件都应该是稳定的
- 组件抽象
- 稳定抽象原则
- 高层策略应该放在哪里
- 稳定抽象的原则 SAP
- 衡量抽象化程度
- Nc:组件中类的数量
- Na:组件中抽象类和接口的数量
- A:抽象程度,A= Aa/Nc
- 痛苦区
- 无用区
- 离主序列线的距离
- 软件架构的目标:支持系统的全生命周期,便于理解,易于修改,方便维护,轻松不少,最大化程序员生产力,最小运营成本
- 开发 Development
- 部署Deployment
- 运行Operation
- 维护 Maintenance
- 保持可选项
- 高层策略与底层实现隔离开
代码整洁之道 - 程序员的职业素养 112
- 交流细节(不同想法,模糊性)。测试足够(真实性,无可挑剔的需求文档)
- QA应该找不到任何错误
- QA也是团队的一部分
- 需求规约定义者(极端corner,边界boundary,异常路径unhappy-path)
- 特性描述者
- 自动化测试金字塔
- ~5%:人工探索式测试
- ~10%:系统测试 GUI
- ~20%:集成测试 API
- ~50%:组件测试 API
- ~100%:单元测试 XUnit
- 时间管理⌚️
- 会议(必须的,浪费大量时间)
- 拒绝(必要性的,感兴趣的)
- 离席(合理分配)
- 确定议程与目标
- 立会(昨天干了什么,今天打算干什么,遇到什么问题)
- 迭代计划会议(5-10分钟一个任务,不超过会议时间5%)
- 迭代回顾和DEMO展示(20分钟回顾,25分钟演示,下班前45分钟)
- 争论/反对(争论各方5分钟摆明问题,然后大家投票,10-15)(争论5—30)
- 注意力点
- 睡眠(7小时)
- 咖啡因☕️
- 恢复(沉思,反省,小睡)
- 肌肉注意力(跑步,骑行,1~2H,天文,政治,曲子,大自然,手工活)
- 输入与输出(创造性思维,作品,引发创造力)
- 时间拆分和番茄工作法(25分钟一组,4个⌚️♨️30min,底气拒绝)
- 要避免的行为:优先级错乱
- 死胡同:掉进坑别挖,听取他人意见
- 泥潭:保持代码的简单,整洁