是的,尽可能保持反馈的赞赏性、专业性和技术性,用可能的“最坏情况”场景支持您的担忧,以便这些功能和/或此特定实现的缺点变得非常明显。
此外,如果这是关于非常具体且对大多数用户没有任何用处的功能/代码,请表达您对代码/使用比率的担忧 - 表明对增加的代码库复杂性等的担忧。
理想情况下,将您的担忧以开放式问题的形式提出——在某种意义上:“不过,我想知道这种方式是否可以长期有效,因为……”。这样您才能真正鼓励贡献者之间的积极对话。
邀请您的其他贡献者和用户就这些问题提供他们的意见,实际上询问其他人/贡献者他们对此添加的想法(在利弊、要求、代码质量方面),请声明您愿意如果其他贡献者/用户可以提供相应的见解,请重新考虑您当前的立场。
您基本上是在鼓励以这种方式进行非正式审查,要求您的社区也研究提议的添加内容,以便讨论优缺点。
因此,无论决定是什么,都将是社区支持的决定,而不仅仅是您做出的决定。
作为原始设计的架构师,您也可以很好地提供架构原因,说明为什么某些东西(尚)不适合包含/部署。
如果稳定性、复杂性或代码质量是一个真正的问题,请说明其他贡献如何也必须经过一定的审查过程才能被接受。
您还可以提及特定代码如何与您当前的设计不完全一致,或者它可能无法很好地随着您当前设计的未来扩展而扩展,同样您可以强调为什么某些东西被明确地遗漏了。
如果您真的喜欢这些功能或核心理念,请务必强调这些功能在正确实施和集成的情况下会带来的出色补充,但也要强调由于多种原因,现有实施并不真正合适。
如果可以的话,请提出具体的改进建议,提供如何更好地做事的示例,以及应该避免和表达您希望的事情,这可以在您的项目社区的帮助下进行修改以添加。
理想情况下,提出您实际接受此贡献的要求并提及您的要求背景,您实际上可能会说您自己讨厌其中的一些要求。
最好展示并讨论您自己贡献了类似代码(甚至更糟糕的代码)以及您最终因自己的代码而面临巨大问题的实例,以便现在制定这些策略来防止此类问题。通过实际谈论您自己的糟糕代码,您实际上可能非常主观。
强调您通常很欣赏这项工作本身,并且您愿意提供必要的帮助和指导,以使有问题的代码具有更好的形状和形式。此外,鼓励将来在您的社区内适当协调类似的贡献,以避免类似的问题。
始终考虑特性和功能(并提醒您的贡献者也这样做),而不是代码 - 将其想象成一个彻底的代码审查过程,最终提交/接受的最终代码可能与原来的实现。
这又是一个很好的可能性,可以展示您自己开发的代码最终在很大程度上被重新设计的示例,因此现在大部分代码都被更好的实现所取代。
同样,没有活跃维护者的代码总是存在问题,因此您可以轻松地建议您担心最终可能无法维护的代码,您甚至可以询问相应的开发人员是否愿意帮助维护该代码,可能在一个单独的分支中。
从同样的意义上说,总是要求新代码伴随着适当的注释、文档和其他更新。换句话说,添加新功能或更改现有功能的代码应始终伴随对所有相关文档的更新。
最终,如果您立即知道在不久的将来您不能也不会接受任何代码,您至少可以邀请开发人员分支甚至分叉您的项目,可能在您的存储库中并在您的帮助和指导下,所以您仍然对与您的项目合作表示感谢。