决定何时构建自己的或在具有最后期限的项目中重复使用

我有一个项目需要构建一些复杂的组件。其中一些组件是由一些不起眼的软件包承诺的,这些软件包证明文档很少,难以配置和使用。 我想知道其他人在软件研究阶段在决定是否构建自己的软件包或坚持尝试现有软件包的时候在哪里划线? 我应该在这类研究上花费多少百分比的项目时间? 提前致谢, 亚历克斯     
已邀请:
问问自己哪些可能需要更长时间,锤击组件以满足您的需求或自己编写。 就个人而言,我几乎总是使用可靠,全面的库(用于Web开发的jQuery,用于WinForms的DevExpress)并使用我自己的代码填补空白。 我记得的唯一例外是Web应用程序的工具提示插件。我尝试过3,浪费时间和时间来适应我的需求,甚至修改他们的源代码,玩他们的图像,修复阻碍ie7的不明显的css标签(导致内网上的ie7模式的ie8默认值),但从未完全做对了,然后就放弃了,并在半小时内完成了自己的工作。 并不是说没有足够的好组件可以在活跃的开发环境中使用,但是你不太可能在开发你的东西的过程中找到它们,而且最后期限迫在眉睫。使用你的免费时间来寻找它们并为它们添加书签,在几个玩具项目中试用它们并看看它们是如何工作的,所以下次当你需要它们之类的时候你会知道要使用什么。     
如果您必须修复一些小错误或者必须遵守代码目前没有考虑的某些模式,请考虑作为一个好公民回馈代码库。 如果你发现自己必须大量重新编码一些预先提供的代码才能使它工作,那么它可能已经“编码”的事实也无关紧要。咬和咀嚼。 如果它是博洛尼亚而你需要重新发明“轮子”,那么考虑一下你的工作可能无法弥补它的实际价值。     
我通常在1/10左右划线。意思是,如果它已经占据了我,比如说,1天,我仍然没有得到现成的工作,我只需要10天时间自己做,我自己做。 即使需要更长的时间,从长远来看,通常更好的是避免复杂,难以使用的东西。或者,至少,我对我真正需要的东西有了更好的了解,我可以选择一个现成的包装,眼睛睁得更大。     
嗯,我认为一切都取决于。 鉴于此,您可能会花费更多的时间来尝试配置和理解用于开发的时间。我会说,如果你足够好,创造得比学习不正确的记录更快,那就去吧。 否则,如果现有的承诺具有很强的功能,并且不会占用整个项目时间,那么就去做吧。通常很难画线。这一切都取决于手头的情况。 你也可以寻找现有的替代品。     

要回复问题请先登录注册