“免费使用您的功能”方法:IDE可以提供提示吗?

时间:2018-05-24 13:06:29

标签: c++ ide non-member-functions

我一直在听ClaCon 2017上的Klaus Iglberger演讲,名为“Free Your Functions”(你可以在Youtube上找到它:https://www.youtube.com/watch?v=WLDT1lDOsb4),这更好地揭示了概念背后的基本原理来自Effective C ++书籍指南:“首选非会员非朋友功能到会员功能”

考虑到所有的优点和缺点,有一种令我困惑的不满,即:你不使用operator.来调用这些函数,并且它们可以在任何地方自由定义。

阅读本文关于接口原则的文章,该文章广泛讨论了应该被视为类公共接口http://www.gotw.ca/publications/mill02.htm)的内容,它非常清楚对我来说,这些自由函数是类接口的一部分,即使它们可以在项目的任何位置的任何文件中定义。

为何不利?因为根据我的经验,在大项目中分散代码会导致代码重复,因为开发人员无法意识到已经为该类实现了一些实用程序功能,并且他们将再次编写代码。当你使用operator.来调用对象上的函数时,这是不会发生的,不仅因为成员函数被语言本身强制在声明类的同一文件中声明,而且只是因为当您按下“。”时,IDE通常会弹出已有的成员函数列表。

所以问题是:假设接口原理是正确的,并假设自由函数方法是一个很好的编码指南,为了摆脱人们没有找到一个类的已经编写的自由函数的缺点,从技术上讲,IDE可以帮助开发人员显示整个类的公共接口而不仅仅是类成员吗?或者在实践中计算压倒性甚至无法实现?

0 个答案:

没有答案
相关问题