我应该发布源代码来修复错误吗


15

我正在构建的应用程序中存在一个错误。我问了一个关于SO的问题,其中一个用户要求我发布或将所有代码发送给他,以便他可以查看。

我完全理解要求。这是有效且可以理解的。但是,我对是否应该存有疑问。显然,我给了他/她王国的钥匙,如果他/她会做出恶意的事情,我将没有任何追索权。

我还想补充一点,我的意思是不尊重提供帮助的用户。我只是在表达担忧。

我确实想修复我的错误,但不能保证此人可以修复它。

我应该发布完整的源代码并希望获得最好的结果吗?还是保留它并尝试自己解决?

你会怎么做?


3
棘手的问题。好问。
yfeldblum 2011年

Answers:


44

构建一个SSCCE(简短,自包含的正确示例)。如果在删除SSCCE的一些其他详细信息时该错误消失了,那么您找到了它。

否则,您将拥有一个SSCCE,该SSCCE可以理想地消除您担心共享的代码。


1
对于那些不熟悉“ SSCCE”的人:acronymfinder.com/SSCCE.html(忽略“食管浅表鳞状细胞癌”的第一个定义)。阿哈,找到了更好的链接:sscce.org
FrustratedWithFormsDesigner

什么是SSCCE?编辑:只需将其粘贴在您的答案中即可。:)
jprete 2011年

7
出于多种原因,构建尽可能小的repro十分重要,不仅因为您没有放弃代码,而且还很可能在开发示例过程中发现了错误。
史蒂夫

3
SSCCE可以作为回归测试加倍,确保您再也不会遇到该错误。而且,通常您可以从SSCCE中为静态分析工具建立规则,从而确保不仅不再遇到错误,而且永远也不会遇到类似的错误。
约尔格W¯¯米塔格

9

我不会这样做,尤其是如果您正在为其他人工作时,他们可能不会欣赏您交给潜在竞争对手的源代码。

但是,即使是您自己的代码,也会错过Stack Overflow的要点,即要有一个供所有人阅读和使用的问题和答案索引。因此,您发布的内容足够多,可以提出您的问题,人们可以按照发布的内容回答问题,将来的读者也可以在前面找到一个封装良好的问题和答案。

如果您不能合理地发布足以理解该错误的信息,则应尝试以尽可能小的代码重现该错误,然后进行发布。(编辑: jzd提到的简短的自包含可编译示例概念。)不要发布大量的源代码,也不要简单地将应用程序的大部分交给互联网上的陌生人。


2

如果您打算将代码作为开放源代码项目的一部分发布,那么我不会太担心。否则,如果这是您在工作场所工作的代码,并且其中包含属于他人的专有创意,则不要将其发布给任何人。这可能会给您带来很多麻烦。

用你最好的判断!


1

如果它是您个人项目的代码,而不是商业项目,那么只要维护它的副本(在某些源代码版本控制系统中更好),就不会给您提供源代码的问题。


0

离散

天真 您想发布一些代码并获得SO社区帮助。问题是人们总是在看着。

我因发布脚本而被写作。它发生了。

在家里或在咖啡馆张贴。离散发布。您应该能够记笔记并将其带进去而不会遇到麻烦。

注意:我有点天真生气。放聪明点!


我认为您要寻找的词是“谨慎”,也许您花了太多时间进行编程!:)
Sedate Alien 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.