# 18.3 小结

另一种思考显而易见性的方式是在信息方面。如果代码是不显而易见的，这通常意味着有关于代码的重要信息是读者没有的：在`RaftClient`的例子中，读者可能不知道`RaftClient`构造函数创建了新的线程；在`Pair`的例子中，读者可能不知道`result.getKey()`返回的是`currentTerm`的编号。

为了使代码显而易见，你必须确保读者总是有他们需要的信息来理解它。你可以通过三种方式做到这一点。最好的方法是减少需要的信息量，使用抽象和消除特殊情况等设计技巧。第二，你可以利用读者在其他情况下已经获得的信息（例如，通过遵循约定和顺应期望），这样读者就不必为你的代码学习新的信息。第三，你可以在代码中向他们展示重要的信息，使用好的名称和战略性的注释等技巧。
