当我看着其他人的代码时,我应用于编写易于理解的函数的几个技巧和启发不断出现。这篇文章概述了第二个关键原则。第一个原则是最小化状态。以下帖子将包含具体的提示和技巧,通常基于这两个原则。
做一件事
通常,函数的可读性会降低,因为它们正在执行多项操作。如果您的函数Foo需要执行任务A、B和C,那么为每个任务创建一个函数并从Foo调用这些任务。
功能小就可以了。只需在函数中调用3个其他函数就可以了。不要害怕“太简单”的代码或这种风格会让事情变得更难理解(事实并非如此(除非你愚蠢地把事情分割开来))。不要害怕表现。在大多数程序中,函数调用的数量实际上对性能没有影响。有一些例外,但除非您知道您正在处理其中一个,否则不要出于性能原因将这些东西混合在一起。
一级抽象
做一件事包括处理单一级别的抽象。例如,假设您有一个函数,在某些情况下,需要将消息记录到文件系统。
|
功能 做某事() { 如果 (条件) { 低级别写入api调用('写入模式', $这个->some路径, '一些错误消息'); } } |
在这里,与函数的其余部分相比,错误消息记录方式的细节处于较低的抽象级别。这使得很难判断函数实际在做什么,因为在更高抽象级别上无关紧要的细节会扰乱高级逻辑。这些细节应该在他们自己的功能中。
|
功能 做某事() { 如果 (条件) { $这个->日志('一些错误消息'); } } 私有的 功能 日志(一串 $条消息) { 低级别写入api调用('写入模式', $这个->some路径, $条消息); } |
另请参见
帖子视图: 21,932
相关的