核心
- 01:面对问题时,用思考框架问问自己,现状、目标和路径。
1 2 3
| Where are we?(我们现在在哪?) Where are we going?(我们要到哪儿去?) How can we get there?(我们如何到达那里?)
|
- 02:遇到事情,倒着想。
- 03:在做任何事之前,先定义完成的标准。
- 04:在做任何需求或任务之前,先定好验收标准。
- 05:尽早提交代码去集成。
- 06:默认所有需求都不做,直到弄清楚为什么要做这件事。
- 07:扩大自己工作的上下文,别把自己局限在一个“程序员”的角色上。
- 08:在动手做一件事之前,先推演一番。
- 09:问一下自己,我的工作是不是可以用数字衡量。
- 10:设计你的迭代0清单,给自己的项目做体检。
- 11:动手做一个工作之前,请先对它进行任务分解。
- 12:多写单元测试。
- 13:我们应该编写可测的代码。
- 14:将任务拆小,越小越好。
- 15:按照完整实现一个需求的顺序去安排分解出来的任务。
- 16:要想写好测试,就要写简单的测试。
- 17:想要管理好需求,先把需求拆小。
- 18:尽量做最重要的事。
- 19:做好产品开发,最可行的方式是采用 MVP(最小可行产品)。
- 20:通过沟通反馈,不断升级自己的编解码能力。
- 21:用业务的语言写代码。
- 22:多面对面沟通,少开会。
1 2 3
| 我昨天做了什么? 我今天打算做什么? 我在过程中遇到了什么问题,需要请求帮助。
|
- 23:多尝试用可视化的方式进行沟通。
- 24:做好持续集成的关键在于,快速反馈。
- 25:定期复盘,找准问题根因,不断改善。
- 26:多走近用户。
- 27:事情往前做,有问题尽早暴露。
- 28:多输出,让知识更有结构。
- 29:请谨慎地将工作自动化。
- 30:将你的工作过程自动化。
- 31:有体系地学习运维知识。
- 32:将部署纳入开发的考量。
- 33:将验收测试自动化。
- 34:把函数写短。
- 35:构建好你的领域模型。
1 2 3 4 5 6 7
| 万维钢有期节目里提到芯片设计时讲到了分层以及模型的概念。分层或模型,实质是因为人的认知能力有 限不得已而为之的。学习计算机,我们都知道晶体管,即便早就忘了它的原理。实际上晶体管涉及非常深 奥的物理学知识,这是绝大多数人一辈子都不需要了解的物理学。抛开复杂艰深的物理学,晶体管的本质 却很简单,它就是一个包含通和不通两个状态的开关,这就是它构建的模型。 在开关的模型基础之上,信息论的创立者香农用一篇硕士论文构建了逻辑门这层。他证明了可以用最简单 的开关,实现所有逻辑运算。 逻辑运算层次之上,就是我们所知道的CPU模型。再往上,就是我们所熟悉的信息世界
|
- 36:用简单技术解决问题,直到问题变复杂。
1 2 3 4
| 一方面,有人会因为对业务量级理解不足,盲目低估其他人系统的复杂度;另一方面,也有人会盲目应用技 术,给系统引入不必要的复杂度,让自己陷入泥潭。 作为拥有技术能力的程序员,我们都非常在意个人技术能力的提升,但却对在什么样情形下,什么样的技术 更加适用考虑得不够。采用恰当的技术,解决当前的问题,是每个程序员都应该仔细考虑的问题。
|
- 37:学习领域驱动设计。
- 38:了解一个项目,从大图景开始。
- 39:小步改造遗留系统,不要回到老路上。
1 2 3 4
| 构建测试防护网,保证新老模块功能一致; 分成小块,逐步替换; 构建好领域模型; 寻找行业中关于系统构建的最新理解。
|
- 40:在学习区工作和成长。
1 2 3 4 5
| 从目前的发展来看,IT 行业依然是一个非常有前景的行业,但想在这条路上走好,需要我们成为 “T ”型 人才,也就是“一专多能”。一专多能的前提是“一专”,让自己成为某个方面的专家。这个专家要放在行 业的标准去看,这才能降低因为一个公司的波动而造成的影响。 成为行业专家,要向行业的大师学习,给自己定下一个高的目标,然后是脚踏实地,找适合自己的问题去解 决,让自己一直在学习区成长。
|
答疑解惑
单元测试做不好,是否会影响到 CI 的效果?
1 2
| CI 作为一个单独的实践,本身是很简单的,但它可以成为提纲挈领的主线,帮助团队不断改善自己 的开发过程。
|
老板参加复盘,不敢说真话怎么办?
国内的技术信息落后吗?
如何管理上级?
1 2 3
| 第一,管理上级的预期。 第二,帮助上级丰富知识。 第三,说出你的想法。
|
面对不了解的技术,我该如何分解任务?
项目时间紧,该怎么办?
1 2 3 4 5 6 7 8 9
| 混淆了目标与现状。 目标是应该怎么做,现状是我们正在怎么做。我们都知道 现状是什么样的,问题是,你对现状满意吗?如果每个人都对现状是满意的,就不会有人探索更好的做法。 假设现在不忙了,你知道该怎么改进吗?
自动糊改进: 把测试覆盖率检查加入到工程里,得到现有的测试覆盖率。 将测试覆盖率加入持续集成,设定当前测试覆盖率为初始值。测试覆盖率不达标,不许提交代码。 每周将测试覆盖率调高,比如,5%或10%,直到测试覆盖率达到100%。
|
多个功能同时开发,怎么办?
1 2
| 在主分支开发模型中,有一些常见的解决多功能并行开发的方法,其中,Feature Toggle 是最常用的一个, 也就是通过开关,决定哪个功能是对外可用的。
|
如何在实际工作中推行新观念?
测试怎么写?
1 2
| 关于外部系统的测试,你可以先通过接口隔离开来,然后,通过模拟服务或本地可控的方式进行 测试。
|
IntelliJ IDEA 怎么学?
1 2 3 4 5 6
| 一个工具怎么学?我的经验就是去用。我没有专门学过 IntelliJ IDEA,只是不断地在使用它。 遇到问题就去找相应的解决方案。 也有一些辅助的方法可以帮助我们练习, 比如,我们会给新员工发放 IntelliJ IDEA 的快捷键卡片,写代码休息之余,可以拿来看一下; 再比如,IntelliJ IDEA 有一个插件叫 Key Promoter X, 如果你用鼠标操作,它会给你提示,帮你记住快捷键
|
相关文章
如果本篇文章对你有帮助,可以给作者加个鸡腿~(*^__^*),感谢鼓励与支持!
微信支付
支付宝