与他人分享代码不仅是一种帮助他人、提升自身编程技能的好方法。您会收到很多积极的反馈、改进建议、bug 修复、免费测试,而且往往还能获得如何使代码本身变得更好的建议。这也会鼓励其他人分享他们的代码,从而让您可以使用更大的免费源代码库。
您可以提交一篇包含下载和图片的完整文章,或者只是一篇快速的“技巧与窍门”。“技巧与窍门”旨在分享非常、非常简短的提示、代码片段,甚至只是您偶然发现的让您事半功倍的一句话。文章则用于呈现更详细的想法。
如果您在 CodeProject 上发布内容,您的代码将根据我们的 服务条款 和文章附带的特定许可协议提供。您还同意 贡献者协议,该协议确保您有权发布内容,允许我们实际发布您的内容,并为您选择的内容许可提供额外的保护。
CodeProject 上文章的主要重点是无需注册或许可费、无时间限制的代码,这些代码展示了应用程序或二进制文件及其源代码。CodeProject 的文章用于分享源代码,而不是应用程序或组件。
请注意,作者为文章编写的源代码必须随文章一起提供。指向最新版本(或在线演示)的外部链接是可以的,但我们仍要求您提交至少一个可用的版本,以便在 CodeProject 上提供。原因是,十有八九外部下载链接会在几个月内因各种不可避免的因素而失效。在 CodeProject 上拥有本地副本意味着至少有一些代码仍然可用。
我们通常不允许关于第三方产品和工具的文章。我们仅在自行决定并严格遵守以下规则的情况下允许关于第三方产品的文章:
最后,我们保留对所有关于第三方产品的文章做出决定的权利。我们可能会允许不符合上述一项或多项规则的文章,也可能拒绝符合所有规则的文章——每篇文章都将个案处理。如果您发现任何不符合这些规则的文章,请将其报告为垃圾邮件/滥用,或发送电子邮件至 submit@codeproject.com。
我们不再允许对第三方产品和工具进行评论。
如果您有很棒的代码,但不方便他人使用,那么人们很可能不会去使用。我们建议:
提交代码和文章时,请检查您是否拥有以下内容:
将所有这些打包成一个单独的 zip 文件,然后发送至 。
通过电子邮件发送文章时,请在主题行中注明文章标题。如果您认为它适合某个类别,请告知我们。
如果您使用 文章投稿向导 发布了文章,并且文章仍标记为“未编辑”,那么您可以通过点击文章右上角的“编辑此文章”链接自行编辑文章。
如果您通过电子邮件将文章发送给我们,或者使用 文章上传页面 上传了文章,或者文章已被编辑,只需访问您的文章,在右上角您会找到一个“更新您的文章”链接。请点击该链接,通过提供的表单将您的更改直接上传给编辑。
或者,发送电子邮件至 ,在邮件正文中注明文章的名称和 URL,并将文件作为 zip 文件(用于下载)或 PNG/GIF/JPEG(用于图像)附加到您的消息中。显然,越小越好,请注意我们不接受 .exe 文件或包含 .exe 文件的 zip 文件。我们的电子邮件提供商很遗憾会拒绝此类电子邮件。
我们会重新格式化提交的每篇文章,并尽最大努力纠正所有语法和拼写错误。如果您首先下载我们发布的文章的 HTML(通过文章右上角的“获取 HTML”按钮),我们会事半功倍。登录 CodeProject,在您的文章右上角会有一个链接“获取文章 HTML”。点击它,然后在浏览器中使用“文件 | 保存”菜单保存您的文章的 HTML。忽略页面顶部和底部的部分——您会在 HTML 中看到“Article Starts”和“Article Ends”标签,它们指向您文章实际文本的位置。剥离这些标记上方和下方的一切,然后直接编辑 HTML。
如果您只想做很小的补充,或者想报告拼写/语法或链接错误,您可以直接以纯文本形式发送。
将所有更新发送给我们,并请记住在电子邮件正文中包含文章的名称和 URL。
您不必担心对文章进行着色。我们有一个着色器可以为您处理。如果您的文章已包含着色,请不用担心——着色器会清除所有以前的着色,然后重新着色整篇文章。
高级着色器技巧:要指定默认的 C 风格着色以外的语言,请在 `<pre>` 或 `<code>` 标签中添加 'Lang' 属性。例如:
<pre lang="C#">int myVar = 0;</pre>
当前支持的语言有:
其他语言可应要求添加。
最重要的一点是,我们需要一些文档。这不一定需要很花哨,虽然我们不介意,但如果您能回答以下问题,您应该就能顺利开始:
目的是让读者清楚地了解您代码的用途,而不是强迫他们下载一个项目,构建它,然后到处寻找以了解示例的作用。这意味着仅包含代码片段而未解释其作用的文章是不够的。
最快让您的代码发布的途径是提供一个简单的 HTML 文件。我们对文档的偏好是:
CodeProject 上的所有文章都具有相同的外观和感觉,这是通过仅使用最基本的 HTML 功能实现的。如果您发送包含不同字体、颜色和花哨功能的 HTML 文件,很可能会被全部删除,以使其符合 CodeProject 的标准。所有文档都是手工编辑的,因此,要仔细研究大量的复杂 HTML 可能会非常麻烦。
上传文章时,您需要了解相关的风险和法律问题。我们生活在一个充满诉讼的世界,因此您需要保护自己免受那些可能(或不可能)由您的文章引起的问题而寻求损害赔偿的人的侵害。仅仅说“代码免费使用”已不再足够。 “免费”是什么意思?是否有任何限制?如果我的系统因您的代码而出问题并给我带来经济损失怎么办?
以下是 CodeProject 当前支持的许可证的粗略指南:许可证。
请确保使用最大压缩率压缩所有文件,并从项目文件夹中删除所有不必要的文件(*.opt、*.ncb、*.obj、*.aps、*.plg、.suo 等)。如果可能,请将提交的文件大小保持在 300KB 以下。
文件命名约定: 如果您的投稿包含 HTML 文章、源代码和图像,为了方便我们处理,我们要求您遵循以下文件名约定。假设您的文章名为 coolcode.html。文件名应为以下格式:
coolcode.html | 您文章的 HTML 文档 |
coolcode.zip | 您文章的 zip 源代码 |
coolcode.png | 伴随您文章的图像 |
或者,如果您有源代码、演示项目和多个图像,那么您的文件名将类似于:
coolcode.html | 您文章的 HTML 文档 |
coolcode_src.zip | 您文章的 zip 源代码 |
coolcode_demo.zip | 您文章的 zip 演示项目 |
coolcode1.png | 伴随您文章的图像 |
coolcode2.png | 伴随您文章的第二张图像 |
顺便说一句,不要使用 coolcode 这个名字,试着找一个更相关的名字 :-)
首先,代码实际上能工作吗?我们有时会收到因为各种原因无法工作的代码。请检查您发送的源代码能否干净地编译,如果它是更大演示应用程序的一部分,请确保该应用程序本身运行正常。
我们要求您遵守您所用语言的一般约定,以便其他程序员能够轻松理解您的代码。有助于其他程序员阅读您代码的约定包括:
另外,代码在警告级别 4 下能否干净地编译?
示例可执行文件: 如果提供示例可执行文件,请确保它已链接到发布库(即确保它没有链接到 Unicode 或调试库)。演示可执行文件的目的是为开发人员提供代码的快速入门。如果他们必须重新编译才能使应用程序在他们的系统上运行,那么提供可执行文件就没有意义了。其次,请尽量保守您上传的示例大小,一个 4MB 的示例不太可能引起很多人的兴趣。
示例项目:建议您也包含一个示例项目。创建示例项目 zip 文件时,请不要包含 Debug 或 Release 目录。它们只会增加 ZIP 文件的大小。另外,不要包含 *.clw、*.ncb、*.opt 等自动重新创建的文件。
使用他人的代码作为基础是可以的,只要您清楚地说明其中一部分/大部分代码不是您的。如果您使用他人的代码,请不要删除他们的版权声明。这里有很多代码重用,毕竟这就是目的。对于要在此处发布的文章,我们期望在代码和 HTML 中根据情况注明出处。
如果您提交的是对他人作品的修改、扩展或更正,我们要求您尝试先联系原作者,然后尝试与他/她协商以更新原始文章。这样,我们就可以保留与原始文章的连续性,并减少需要发布的新页面数量。
非常欢迎您提交已在其他网站发布的代码,前提是您拥有该文章的版权,并且您没有授予其他网站您文章的独家权利。
该 模板 zip 文件 包含一个 HTML 模板,用于向 CodeProject 提交文章。我们建议使用 Microsoft Expression Web、Dreamweaver 或您喜欢的文本编辑器来编辑此文件。请注意,所有多余的格式(奇怪的颜色、绝对定位等)都将被删除,以保持统一的外观并帮助我们的读者。
使用这些模板将有助于我们更快地发布您的文章。我们在服务器上使用 MS IIS 和 ASP 页面,这使我们可以简化用于创建文章的模板。
要填写模板,只需按照以下 3 个简单步骤操作:
就是这样!所有格式都将由 ASP 脚本引擎完成。
CodeProject 是一个英语网站。我们欢迎来自所有文化背景和各行各业的人士,但我们要求只发布英文文章。
博客条目与文章的目的是相同的:帮助开发人员解决与编码相关的问题。在决定是否提交您的 博客源 并标记您的博客条目时,一个很好的通用指南是:是否有与您的博客主题相关的部分?
必备条件:
其他注意事项: