阅读笔记之《程序员修炼之道-从小工到专家》七

发布时间 2023-06-07 23:32:34作者: 你好,幸会

第36节 需求之坑

从本节开始进入了第七章节:在项目开始之前。本章节讨论了在项目开始之前的一些建议。

1、完美,不是在没有什么需要增加,而是在没有什么需要去掉时达到的。这句话的一种解读时,不要搜集需求,需求太多,容易让我们抓不住重点,更应该深挖需求,围绕核心功能不断打磨。

2、挖掘需求,需要我们与用户一同工作,像用户一样思考。

3、制定需求文档。看待用例的一种方式是强调其目标驱动的本质,它强调的是要重视需要做成什么以及需要什么条件。需求文档最好配一些UML用例图。

4、需求的制定不能太具体,要保持一定的抽象。需求不是架构,不是设计,需求只是需要。这个有点类似于开发中的面向接口而不是面向具体实现编程。

5、维护词汇表。“客户”和“顾客”,可能表达不同的含义,但如果混用会让人迷惑,我们可以维护一个词汇表,专门用户描述他们的具体含义。

6、把需求文档发布到内网,参与人员都可以随时查看和提出意见。

第37节 解开不可能解开的谜题

1、戈尔迪斯结号称是没人能解开的结,后来亚历山大大帝来了,用剑劈开了这个结。

2、面对看似不可能解决的问题,一定要转换思路,不要受任何先人之见影响。不要在盒子外面思考,要找到盒子。

3、有时你会发现,自己在处理的问题比你以为的要难得多,总会感觉一定有更容易的方法。这时你可以退回一步,问问自己:

  • 有更容易的方法吗
  • 你是在解决真正的问题,还是被外围的技术问题转移了注意力
  • 这件事情为什么是一个问题
  • 是什么使它如此难以解决
  • 它必须以这种方式完成吗

很多时候,对需求的重新诠释能让整个问题全部消失— 就像戈尔迪斯结。

第 38 节:等你准备好

1、倾听反复出现的疑虑。当你遇到一个反复让你疑虑的问题,需要注意它,给自己时间去理解,之后它可能就会变成某种更坚实的东西。

2、对于某些东西,我们可能不愿意轻易做出承诺,总希望再等等,更多意见的提出。但这很可能是一种拖延,怎么区分是有效的等待还是拖延的接口呢?我们应该快速地构建原型,并进行推延,可能很快我们就找到了更好的解决方案。

第 39 节:规范陷阱

1、编写规范是一项重要的职责,但问题是很多人可能会陷在这里,不断地增加规范项。我们可以做这样一个尝试,写一份简单的描述,告诉别人怎样系鞋带。

这可能是一份并不能帮助他人的描述,因为对有些事情“做”胜于“描述”。因为无意识的行为更快,考虑规范反而会拖慢进度。

2、对待开发文档也一样,不要编写过于详细的规范。因为很可能开发者在思考某个问题时会想到两种不同方案,经过简单对比,选择一个更优的那个。但面对严格的规范文档,一步步思考,这更可能束缚开发者的发挥。

第 40 节:圆圈与箭头

1、设计文档里的圆圈和箭头用来解释他们指代的作用,但这还有可能是推翻我们原先设定的证据。感觉这个是承接上一节的内容,不要被以前的假设和设计所限制,留有一定的弹性空间。

2、我们相信,盲目地采用任何技术,而不把他们放进你的开发实践和能力的语境中,这样的处理日后可能会让你后悔。

3、不要迷信工具以及各种方法学,注重实效的程序员会批判地看待他们,并从中提取精华,融合成每个月都在变得更好的一套工作习惯。