我目前正在开发一个项目,我们使用开源库(GPL)进行一些特定的算法和计算.稍后将由我们自己的实现替换.
我现在想知道的是,在实现您自己的库时,您可以让自己"帮助"或"启发"多少,以后应该由闭源应用程序使用.将一些代码段或过程直接从开源复制到您的实现中是不合法的.但是,如果不实际违反GPL条件,您可以遵循开源实施多少?如果您研究并理解源代码,基于此做自己的实现是合法的吗?
有时需要挖掘别人的代码,理解它并重构/修复它.所以我想知道你用什么工具/做法来做到这一点?它不是关于任何特定的语言或平台,而是一般的一些建议.
我自己发现在调试器下运行有问题的代码非常有用(如果可能的话),设置断点并逐步执行代码.
此外,我还使用了一些具有逆向工程功能的UML工具来展望全局.可视化对我来说非常好用.
有一个工具,我已经使用了很多:理解.它不是一个UML工具,但它有一堆代码可视化.例如,函数的控制流程图,它不是UML的一部分,但有时它非常有用.
我听说有时人们会为他们想要学习的代码编写测试,但它并没有为我工作.有时我想要理解的代码不是很容易测试.
还有其他工具,如分析器,依赖检查器,记录器等.有没有人使用它取得任何成功?如何?
首先使用的是什么?下一步是什么?
我正在寻找有关如何共同发布第一个开源项目源的技术部分的文档,特别是C/C++,Java,Python中的库密集型内容.
举个例子,如果我使用像Netbeans这样的IDE和像Xerces-C和Boost这样的各种库构建一个C++项目,我想了解一下这些问题:
这是在我自己的环境之外为这样的流程组织构建过程的最常用工具,更重要的是
我如何以"普遍完成"的方式学习它们?我使用了许多开源项目,当然可以读取构建代码(makefile和配置选项等),但这并没有告诉我如何实现这些目标,重要的细节是什么以及通常预期的内容.
是否存在特定语言(如提到的那些)类似于部署的"编码风格"指导?是否有开源项目有关于此的指导原则?
在部署源代码时(而不是使用apt/port/etc的软件包,可以解决依赖关系),部署库依赖项的典型方法是什么?
我知道我可以阅读所有联机帮助页和所有文档,但我想了解"约定"以及它们是如何实现和预期的,而不是所有可能的技术选项.
我在另一个stackoverflow帖子上找到了这个,它很好,但不是很具体:http: //producingoss.com/en/producingoss.html
我一直在浏览许多关于软件许可的网页,这是一个真正的大脑打击者.合法的东西并不有趣,虽然我知道我必须在许可证下发布我的代码,否则我最后会遇到问题.
所以我刚刚完成了一个基于Web的丰富的媒体管理器,我正准备发布它.它使用jQuery(包括JSON插件和SWFUpload).所有代码都是我自己的,除了JSON插件和SWFUpload(都是在MIT License下发布的,我相信我可以使用它们,我希望如此).
我的代码将是开源的.有一些事情让我担心.
真的,我只是觉得我过度保护它.我想做的就是将它发布给公众,但我仍然保留了对它的所有权,因为我创建了它.
关于我应该去哪里的任何指示?我一直在关注GNU GPL,但并不完全确定.
问候,
杰森.
编辑:
在研究了很多之后,我已经确定了BSD或MIT许可证.我读过GPL许可证是合法的定时炸弹,不确定它是多么真实.
BSD和MIT许可证对最终用户几乎没有限制,基本上:版权声明和许可证必须包含在软件的任何重新分发中.
但是,BSD许可证确实说明了这一点:
未经事先书面许可,不得使用其贡献者的名称或其名称来支持或宣传从该软件衍生的产品.
有关哪一个更好的指示?
我有一个区域层次结构(想想State,District,Taluk等),我需要使用树来表示.我在公共领域看到了一些Tree的实现,但不确定它们有多好以及它们的维护性能如何.Apache Collections没有其中一个NOR做谷歌收藏.我想知道你是否有人能指出我在Java中实现一个Tree(带有泛型).
谢谢,
更新 我正在寻找树数据结构,最好使用泛型实现:经过充分测试.
如果你看看
if (!x) {
if (x == false) {
Run Code Online (Sandbox Code Playgroud)
它看起来像!x更好,但是
if (!isSomething()) {
if (isSomething() == false) {
Run Code Online (Sandbox Code Playgroud)
你可以轻松监督!
该怎么办?有推荐吗?
我有一个 PHP 文件文件夹。这些文件的源代码被压缩成几行,没有换行符或其他传统格式,非常难以阅读。
我找到了几个在线工具来使源代码可读,但它们都是一一做到的:http : //thephppro.com/tools/beautify.php http://www.prettyprinter.de/
如何批量格式化源代码?有什么方法可以更有效地完成使 PHP 源代码的文件夹/子文件夹更具可读性的过程?是否有任何 IDE 可以以批处理模式格式化文件,或者我不知道的其他 php 脚本/cli 工具可以执行此操作?
命名作为基于C的代码库/ API的一部分的文件和函数的正确方法是什么?
是否有任何winforms源代码编辑器控件可用于颜色编码?优先.开源
我似乎记得曾经遇到过类似的东西,但似乎无法回想起来?
长话短说,VSS决定我不允许进行一些代码更改.我错过了一个相当大的功能,我不想重写(在去年夏天给了合作社作为工作).它运作良好,并做客户想要的.但是......我没有机器和它开发的机器已经铺平了!
Do'h!
我们直接从visual studio将网站发布到测试环境中,然后我们将文件复制到生产中.所以我有VS发布的"编译"文件.
我怎样才能将其重新编入代码?我相信我可以弄清楚它在哪个DLL中我会认为像反射器这样的东西将是我最好的选择?是否保留了原始变量名称?
在我参与的每个项目中,我都有一个或多个战术构建工具.它们执行验证或校验和或某些特定的构建时任务.这些工具通常是项目特定的,并以项目的实现语言编写.
Q1.你有这样的工具吗?这是一个项目气味我有这些工具吗?
Q2.在源控制系统中,这些工具的来源属于哪里?不在源代码中,也不在源代码测试中.您是否保留了首先构建的源工具?
虽然我对CSS和HTML有所了解,但我是一名完整的编程初学者.
我想学习Python.我下载了很多源代码,但文件数量和复杂性让我很困惑.我不知道从哪里开始.我应该寻找特定的订单吗?
谢谢.
编辑:对不起伙计们,我忘了提到我已经有了在线教程和几本书.我基本上我不太明白如何"拆除"和理解复杂的源代码,以掌握编程技术和概念.
EDIT2:谢谢你们非常快速的评论.对此,我真的非常感激.这个网站太棒了.
Safari 5获得了一项新功能:阅读器.它显示了文章页面的简化版本,只包含文章本身(而不是所有杂乱的文章).它还将多个页面(如果文章分为多个页面)合并为一个页面.
这是一个非常有用的功能,我想将其移植到Chrome.
我在WebKit主干中搜索Readers代码(例如http://svn.webkit.org/repository/webkit/trunk/),但我找不到它.
有什么提示我可以找到它吗?
open-source ×3
build ×2
coding-style ×2
ide ×2
java ×2
asp.net ×1
batch-file ×1
c ×1
c# ×1
c++ ×1
debugging ×1
decompiling ×1
deployment ×1
editor ×1
gpl ×1
naming ×1
php ×1
python ×1
release ×1
safari ×1
standards ×1
syntax ×1
text-editor ×1
tree ×1
webkit ×1
winforms ×1