例程、过程、方法——无论你怎么称呼它们,它们对于我们开发人员来说都是重要的构建块。您将哪一项特征评为 最重要的 一?

(通过为每个答案提供一个特征,可以单独为它们投票。IE。这个问题的目的不是要选出一个特征,而是要强调 所有的 重要的。)

有帮助吗?

解决方案

我认为最重要的标准是它具有一个目的。

之后,它可以正确满足该目的(仅此目的)。

其他提示

自我评论的过程名称。

示例:GetStoreFromAddress GetCarsbyMake

它应该容易对单元进行测试。

例程的名称将一对一映射到其功能。

令人惊讶的是,功能X X X和Y的频率频率或X的大部分,但并非全部X。

那里 没有任何单一标准可以区分好习惯和坏习惯。

之中 标准是:

  • 概念完整性:它可以做一些可以简单的简短形式,一个句子或段落来描述的事情;
  • 松耦合:它的行为对周围代码中发生的情况不敏感;
  • 合理尺寸:漫长的常规很难阅读和理解,并且不太可能具有良好的概念完整性。
  • 帕纳斯准则:他们“隐藏”可以改变的一件事,因此需求变化对系统的其余部分的影响有限。

旨在被人类轻松阅读和理解 - 没有到位,很难修改它以使其在此处列出的所有其他精彩属性

它试图做的事情数量。

如果这不是1个,那么您可能会有问题。

它不应该具有意外的副作用。

良好的错误处理(可靠性)

简洁

(这本来应该是一个半开放的答案,但因此不会单独发布单词!)

它必须是原子

代码行。

您应该跟踪进行例程使用后所需的编辑数量。 “良好”例程是一项需要很少的编辑。当需要大量修复程序时,“不良”的例行程序肯定会证明自己是如此。

每个方法调用都可以通过评论标头轻松完成,该标题在每次编辑后都会更新。

它做一件事或将多件事委派给其他功能

清晰 - 易于理解

我认为,如果您将例程视为API的一部分,则可以更容易回答。没有太多单独的例程,至少在一个真正有用的系统中没有。老实说,我认为编写例程时要考虑的最重要的事情是:

  1. 直觉 我的指示集有多直观 - 人们会理解目的而不必涉足大量文档吗?

  2. 正交性 我的例行程序如何正交?每个人都完成一个特定的任务,还是有多种(但略有不同)做同一件事的方法?如果有的话,这是不好的,并且可能需要重新设计API。

  3. 紧凑 完成简单任务需要多少API?我是否需要学习很多东西来完成一些事情,还是只能使用几个执行直觉和强大的例程就可以了?您需要权衡与正交性的权衡,以在特定领域取得良好的平衡。

从例行名称中,您可以说出例程的作用(当您检查代码时,您会意识到自己是对的;-)

该例程在整个过程中都使用一致的抽象水平。

我会说有很好的文献记载(实际上是执行的)前后条件。

一个返回点

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top