改进和发布应用程序。需要一些建议吗 上学期(8月-2008年12月)我和一些同学在C++中写了一个应用程序。没什么了不起的,它是Sqlite3的ORM。我们实现了一些东西,比如反射,让它工作起来,并将最终用户从丑陋的东西中释放出来。就我个人而言,我认为我们做得很好,我们的ORM实际上可能对某些人有用(尽管它是专门为Sqlite3编写的,很容易适应oter数据库)

改进和发布应用程序。需要一些建议吗 上学期(8月-2008年12月)我和一些同学在C++中写了一个应用程序。没什么了不起的,它是Sqlite3的ORM。我们实现了一些东西,比如反射,让它工作起来,并将最终用户从丑陋的东西中释放出来。就我个人而言,我认为我们做得很好,我们的ORM实际上可能对某些人有用(尽管它是专门为Sqlite3编写的,很容易适应oter数据库),c++,projects,C++,Projects,因此,我得出的结论是,它应该作为一个开源项目发布在某个地方(最有可能是sourceforge)。但是,因为这是一个学期项目,所以在做这项工作之前,需要对一些事情进行添加。也就是说,它有一些应该修复的内存泄漏,代码的某些部分可以进行重构,以使将来每个人的生活更轻松 我想知道更多的有经验的C++程序员对一些问题的看法: 是否值得重写某些部分 应用新技术(例如, 推进) 我们的ORM应该适应最新的需求吗 C++标准?这有什么好处吗 这样做 我们如何知道我们的代码何时被删除 准备好释放了吗 这种情况发

因此,我得出的结论是,它应该作为一个开源项目发布在某个地方(最有可能是sourceforge)。但是,因为这是一个学期项目,所以在做这项工作之前,需要对一些事情进行添加。也就是说,它有一些应该修复的内存泄漏,代码的某些部分可以进行重构,以使将来每个人的生活更轻松

我想知道更多的有经验的C++程序员对一些问题的看法:

  • 是否值得重写某些部分 应用新技术(例如, 推进)
  • 我们的ORM应该适应最新的需求吗 C++标准?这有什么好处吗 这样做
  • 我们如何知道我们的代码何时被删除 准备好释放了吗
  • 这种情况发生的可能性有多大 将被遗忘在尘世的迷雾中 互联网?(即它值得吗 出版它超越了个人的骄傲 作为一名程序员?)
现在我想不出更多的问题了,但我想看看类似的经历

编辑:我可能应该把我的代码+注释翻译成英语,对吗?(自问)

提前谢谢。

关于你的问题,我想我“更有经验”。在Java或ASP出现之前的web设计早期,我与ColdFusion共同开发了一个开源web应用程序语言和模板系统。如果你感兴趣的话,你仍然可以在。它仍然在我开发时所在的公司使用,但我不认为在其他任何地方

我发现,除非你已经建立了良好的关系,并且人们都在关注你在做什么,否则让人们使用你的开放源代码就像向某人出售你的封闭源代码程序一样困难。你真的需要为你的项目做宣传,它应该有某种独特的销售主张,使它区别于竞争对手

所以,这是主动提出的建议。以下是对你提出的问题的一些具体回答……当然,这完全是我的观点

我不会重写任何代码,除非你有一个你想加入的专长。该功能可能与特定平台或编译器兼容。它可能是为了支持一个新的db数据类型或更智能的标记或其他什么。如果你打算在应用程序中投入一些更为认真的工作,那么考虑一下你在下一次迭代中可以实际完成的工作路线图,以及哪些选择将使应用程序在你的周期结束时成为“最好的”

只要代码可用于特定用途,就立即发布。有两个原因。首先,可能有人现在就想要它。如果它不可用,他们将使用其他东西。此外,如果是开源的,他们可能会对项目做出贡献。第二,你越早发现有多少人想要使用代码,就越好。或者它会比你预期的更受欢迎,你可以对继续开发感到兴奋……或者……你会发现,甚至没有人访问你的网页来查看你得到了什么。在任何一种情况下,最好尽早知道人们真正想要从您的项目中得到什么,这样您就可以在规划新版本时考虑到这一点

关于“被遗忘在迷雾中”我想大多数项目都是这样的。我不想成为一个下注者,但是看看维基百科,有5个C++的ORM工具足够流行,它们都是开源的。正如我上面所说的,除非你能向人们推销你的想法,否则他们将使用另一个经验证的开源解决方案。如果有人选择你而不是他们,有三件事必须发生:1。他们需要你拥有的功能,而其他人没有。2.他们找到了你的项目网站,它展示了你的代码的优越性。3.他们足够信任你的代码,可以尝试一下

另一方面,如果您长期从事这项工作,并且希望继续开发,那么随着时间的推移,事情会变得越来越容易。最终,项目将涵盖所有基础知识,您可以开始开发其他解决方案中没有的新功能。此外,您在积极开发中的时间越长,项目看起来就越值得信任。最后,您将在nitch获得更多经验。2年后,你将能够更好地说明你的努力对改善项目的影响最大

最后一个想法:如果你正在享受它,从中学习,并且它不会妨碍你把食物放在桌子上,那么它是对你时间的一种很好的利用

祝你好运

-Al

关于开源部分:

如果您真的想让它成为一个开源项目,那么您真的应该发布它,而不管它的当前状态是完全工作并调试好的,还是半工作并充满内存泄漏的。 只是,如果它的状态不好,请确保记录它,并为它提供合适的版本号(少于一个?)。然后,其他人可能会查看您的代码、建议改进、加入您的团队等等。

我对这件事的想法(按照我认为最重要的顺序)相当随意:

  • 我们如何知道我们的代码何时可以发布
比如:如果你打算提前发布开源软件。合理地记录它,并花时间提供计划或希望未来改进的路线图(这是对人们帮助您的邀请,因此请注意哪些人没有参与)

  • 是否值得重写某些部分以应用新技术(例如,boost)
  • 我们的ORM应该是一个