智能营销笔记本服务商

营销笔记本+万能采集+AI名片+智能电销+短信群发=同步管理

免费咨询热线: 15064770313

智能营销笔记本关于界面系统开发代码的语言可读性

与许多其他形式的交流一样,编写代码面临着将想法和想法清晰地表达为一组有限的单词的挑战。我们经常设想最终目标,但将这一设想转化为文字的过程并不总是很好。此外,如果不仅要考虑传达的内容,还要考虑传达的方式,情况会变得更加复杂。在本文中,我们探讨了面向对象语言解决这一挑战的方式,以及开发人员如何利用这些构建块来提高其代码的可读性。

在开始之前,请注意我们特意将编程称为一种通信形式。花一点时间让这件事深入人心,因为这对继续前进非常重要。后退…?好的。现在,这种交流发生在三方之间;有原始的程序员、机器和未来的程序员。正如您可能已经想到的那样,大多数复杂情况将来自“这个沟通三角的未来程序员方面,而且更多时候这被完全忽略了。” 万一您没有完全加入这个第三方,请注意,即使“未来您也可以被视为第三方!

现在我们已经涵盖了基础知识,是时候简要介绍一下有效沟通者的构成要素了。这本身就是一个广泛的主题,所以我们只提供一小部分,但欢迎您自己阅读更多内容。引用修辞大师亚里士多德的话说,要成为一个有效的沟通者,你必须“告诉他们你要告诉他们什么,告诉他们然后告诉他们你刚刚告诉他们的”

如果您开始想知道这一切与编程有何关系,请问问自己;我们应该或应该在编程中交流什么?我们已经确定它是一种交流形式。尽管听起来很荒谬或简单,但如果我们要有效地做到这一点,就必须理解这一点。例如,假设您遇到函数 foo 的以下定义:

Public int foo(int a, int b)

我跟你交流了什么?好吧,你可能会说,函数 foo 接受两个整数并返回一个整数。如果这就是给你的全部,你认为它有效吗?对于一台机器来说,这已经足够了,但未来的程序员呢?暗示; 回想一下,我们在这里使用的是面向对象的语言,因此,有一种叫做“状态”的东西。所以简短的回答是否定的。上面的代码片段未能清楚地传达其意图。比如何完成特定任务的细节更重要,意图是我们应该努力在各个层面进行沟通的事情。

那么,意图应该在哪里以及如何传达?显而易见的位置在评论部分,因为你们大多数人都会同意。但是我们应该在那里放什么?与流行的做法相反,对于那些评论他们的代码的人,我认为 less is more。我是什么意思?通常建议在评论部分提供尽可能多的信息,并认为过度沟通比沟通不足要好。虽然有时确实如此,但它也凸显了一个不足。我们不知道该说什么,所以我们把所有的事情都说出来,然后你按照你认为合适的方式进行整理。这里的诀窍是少花钱。如果需要更多功能,可能功能太广泛,或者我们正在研究如何. 回想一下亚里士多德的引述,所以基本上说明什么一段特定的代码打算做什么,任何预期的前置条件以及这些功能对对象状态的影响 - 即后置条件。
前任:

///Intent:///Pre-condition:///Post-condition:public int foo(int a, int b);

传达意图的想法是人们应该能够遵循您的代码,而无需进入定义。这适用于模块、类和函数级别。

传达意图的第二个位置是命名。这是编程和一般计算机科学中最难的问题之一。因此,我们只能说尽最大努力让它有意义!这用于强调如上所述的评论部分的重要性。无论名称看起来多么巧妙,命名本身都不足以传达我们的意图

放置我们的意图的最后一个也是最不被重视的位置是单元测试。当然,您可能会说,单元测试是为了确认一段代码完成了它的任务。这是与“未来的程序员”沟通的重要保证,它有助于保持原始意图的完整性。此外,使它绝对不可或缺的是它是可执行的。因此,我们能够改变实现特定功能的方式,并确信意图仍然完好无损。令人惊讶的是,单元测试也具有命名和注释的优势。

1630833343807522.png

那么什么是可读代码呢?我们讨论了将编程视为三方之间交流形式的重要性,其中“意图”是最重要的要交流的信息。可以在三个地方表达这种意图;即在评论部分,命名和单元测试。在评论方面,我们还敦促程序员争取少一点,而不是过度交流。一个可读的代码传达了它的意图而不是方法。在面向对象语言的情况下,这是通过正确使用类来实现的。资料参考《曲阜市智程网络科技有限公司