
56
|
第
3
章
模块设计
从字面上来看,“
Move Deliberately and Experiment
(谨慎地行动和尝试)”
这个口号可能更好。它和
Facebook
那个口号的观点是相同的,它的真正
含义并不意味着要揭示或解释什么。进行尝试是软件设计和开发的一个关
键方面。我们应该不断尝试和验证新的想法,验证它们是否比现有解决方
案更好。可以把“快速行动,打破常规”理解为尽早做以及经常做
A/B
测
试
1
,“谨慎地行动和尝试”就很好地传达了这个意思。
“谨慎地行动”是指所做的一切都是有道理可循的。工程进度很少会受到开
发团队加快进度意愿的影响,但是通常要受制于产品版本发布周期,不得
不满足这些版本发布所需的复杂需求。当然,每个人都希望工程进度尽可
能快,但是接口的设计不应该太仓促,不管我们处理的这个接口是体系结构、
层、组件还是函数。内部结构对于正确处理需求并不重要,因为只要接口
保持不变,内部结构就可以在稍后进行改进,以提升性能或可读性。我不
是提倡草率开发内部结构,而是鼓励经过充分的思考周全地设计接口。
3.2
CRUST
原则
我们的讨论越来越接近函数内部结构了,不过这部分内容将在第
4
章详细
讨论。在此之前,我们需要解决组件级别上的一些问题。本节探讨如何遵
循第
2
章所述的
CRUST
原则来保持组件的简单性。
3.2.1
适度使用
DRY
原则
DRY
(
Don
’
t Repeat Yourself
,即避免重复的代码和逻辑)是软件开发中最
1
A/B
测试,用户测试的一种形式,即让一小部分用户使用与大部分用户不同的产品版本,然 ...