Click here to Skip to main content
65,938 篇文章
CodeProject 正在发生变化。了解更多

投稿指南

您有很酷的代码想分享吗?

与他人分享代码不仅是一种帮助他人、提升自身编程技能的好方法。您会收到很多积极的反馈、改进建议、bug 修复、免费测试,而且往往还能获得如何使代码本身变得更好的建议。这也会鼓励其他人分享他们的代码,从而让您可以使用更大的免费源代码库。

工作原理

您可以提交一篇包含下载和图片的完整文章,或者只是一篇快速的“技巧与窍门”。“技巧与窍门”旨在分享非常、非常简短的提示、代码片段,甚至只是您偶然发现的让您事半功倍的一句话。文章则用于呈现更详细的想法。

  1. 有两种提交文章的方式:通过电子邮件发送至 ,或者通过 文章投稿向导
  2. 通过投稿向导提交的文章最初将处于“未编辑”状态。通过电子邮件提交的文章将以“已编辑”状态发布。
  3. 如果您的文章尚未编辑,您可以通过文章本身的“修改”按钮继续修改,或者通过电子邮件将您的更改发送给我们 - 任您选择。
  4. 如果您使用投稿向导发布,您的文章将进入一个审核队列,高级会员可以审核并批准您的文章。在审核期间,您可以根据需要多次编辑您的文章,很快(几小时内)它就会获得批准公开发布,除非文章存在需要解决的问题。
  5. 然后,编辑可能会正式编辑您的文章,包括审查您的下载、图片、文本和格式,并完善整篇文章。完成后,您可以随时向我们发送文章的更新至 ,但无法直接编辑,因为这可能会撤销已完成的编辑工作。如果您不希望您的文章获得此最终润色,请告知我们。

提示

如果您在 CodeProject 上发布内容,您的代码将根据我们的 服务条款 和文章附带的特定许可协议提供。您还同意 贡献者协议,该协议确保您有权发布内容,允许我们实际发布您的内容,并为您选择的内容许可提供额外的保护。

CodeProject 上文章的主要重点是无需注册或许可费、无时间限制的代码,这些代码展示了应用程序或二进制文件及其源代码。CodeProject 的文章用于分享源代码,而不是应用程序或组件。

请注意,作者为文章编写的源代码必须随文章一起提供。指向最新版本(或在线演示)的外部链接是可以的,但我们仍要求您提交至少一个可用的版本,以便在 CodeProject 上提供。原因是,十有八九外部下载链接会在几个月内因各种不可避免的因素而失效。在 CodeProject 上拥有本地副本意味着至少有一些代码仍然可用。

我们通常不允许关于第三方产品和工具的文章。我们仅在自行决定并严格遵守以下规则的情况下允许关于第三方产品的文章:

  • 必须提供重要的创新,而不能仅仅是一个出现在供应商自己帮助页面上的“操作指南”,或者必须解决第三方产品或库用户普遍面临的重大问题。
  • 不得作为产品广告。我们对此拥有最终决定权。不得提及价格、优惠或优惠券、升级、试用或任何可能诱使或吸引人们访问第三方网站并下载产品的行为。本文仅供已使用该产品的人员参考。
  • 我们保留用对搜索引擎不友好的链接替换任何产品链接的权利。文章不得以任何形式用于推广产品,包括 SEO。
  • 必须标记为“third-party”
  • 以此方式标记的文章不会出现在主页或新闻通讯中。
  • 不得由与公司有关联的任何人撰写。不允许自我推销。
  • 作者必须撰写至少两篇不涉及第三方产品的文章。

最后,我们保留对所有关于第三方产品的文章做出决定的权利。我们可能会允许不符合上述一项或多项规则的文章,也可能拒绝符合所有规则的文章——每篇文章都将个案处理。如果您发现任何不符合这些规则的文章,请将其报告为垃圾邮件/滥用,或发送电子邮件至 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>

当前支持的语言有:

  • 纯文本 (lang="text")
  • ASP.NET (lang="aspnet")
  • BAT (lang="bat")
  • C# (lang="C#")
  • C++ (lang="C++")
  • C++/CLI (lang="mc++")
  • CSS (lang="css")
  • Delphi (lang="delphi")
  • F# (lang="F#")
  • HTML (lang="html")
  • Java (lang="java")
  • Javascript (lang="jscript")
  • MASM / ASM (lang="asm")
  • MSIL (lang="msil")
  • MIDL (lang="midl")
  • PHP (lang="php")
  • SQL (lang="SQL")
  • VB.NET (lang="vbnet")
  • VBScript (lang="vbscript")
  • XML (lang="xml")

其他语言可应要求添加。

文章

最重要的一点是,我们需要一些文档。这不一定需要很花哨,虽然我们不介意,但如果您能回答以下问题,您应该就能顺利开始:

  • 代码做什么?
  • 我如何将其集成到我现有的代码中?或者我该如何使用它?
  • 如果 CodeProject 上已经有类似的帖子,那么这个帖子有什么不同?为什么有人会想使用您的版本?
  • 代码是否有某个特别值得关注的方面,或许应该在文章中涵盖?
  • 代码是否有特定的环境限制?(例如 Windows 2000 及以上版本,.NET SP1 等)

目的是让读者清楚地了解您代码的用途,而不是强迫他们下载一个项目,构建它,然后到处寻找以了解示例的作用。这意味着仅包含代码片段而未解释其作用的文章是不够的。

最快让您的代码发布的途径是提供一个简单的 HTML 文件。我们对文档的偏好是:

  1. 使用提供的 模板文件,通过纯文本编辑器或好的 HTML 编辑器编辑的简单 HTML。
  2. 一个普通的文本文件。
  3. 其他所有内容。

CodeProject 上的所有文章都具有相同的外观和感觉,这是通过仅使用最基本的 HTML 功能实现的。如果您发送包含不同字体、颜色和花哨功能的 HTML 文件,很可能会被全部删除,以使其符合 CodeProject 的标准。所有文档都是手工编辑的,因此,要仔细研究大量的复杂 HTML 可能会非常麻烦。

许可

上传文章时,您需要了解相关的风险和法律问题。我们生活在一个充满诉讼的世界,因此您需要保护自己免受那些可能(或不可能)由您的文章引起的问题而寻求损害赔偿的人的侵害。仅仅说“代码免费使用”已不再足够。 “免费”是什么意思?是否有任何限制?如果我的系统因您的代码而出问题并给我带来经济损失怎么办?

以下是 CodeProject 当前支持的许可证的粗略指南:许可证

Zip 文件

请确保使用最大压缩率压缩所有文件,并从项目文件夹中删除所有不必要的文件(*.opt、*.ncb、*.obj、*.aps、*.plg、.suo 等)。如果可能,请将提交的文件大小保持在 300KB 以下。

我们无法通过电子邮件接受 .exe 文件或包含 .exe 文件的 zip 文件。我们的电子邮件提供商会将这些电子邮件退回。 如果您想提交已编译的代码演示,最简单的方法是通过 文章提交表单 发送给我们。

文件命名约定: 如果您的投稿包含 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 这个名字,试着找一个更相关的名字 :-)

源代码指南

首先,代码实际上能工作吗?我们有时会收到因为各种原因无法工作的代码。请检查您发送的源代码能否干净地编译,如果它是更大演示应用程序的一部分,请确保该应用程序本身运行正常。

我们要求您遵守您所用语言的一般约定,以便其他程序员能够轻松理解您的代码。有助于其他程序员阅读您代码的约定包括:

  • 在 MFC 中使用匈牙利命名法(例如,变量前缀如 int 的“n”,double 的“d”等)
  • 使用 Win32/Visual C++ 类型,如 UINT、LPCTSTR 等。
  • .NET 代码中的驼峰式命名法

另外,代码在警告级别 4 下能否干净地编译?

示例项目

示例可执行文件: 如果提供示例可执行文件,请确保它已链接到发布库(即确保它没有链接到 Unicode 或调试库)。演示可执行文件的目的是为开发人员提供代码的快速入门。如果他们必须重新编译才能使应用程序在他们的系统上运行,那么提供可执行文件就没有意义了。其次,请尽量保守您上传的示例大小,一个 4MB 的示例不太可能引起很多人的兴趣。

示例项目:建议您也包含一个示例项目。创建示例项目 zip 文件时,请不要包含 Debug 或 Release 目录。它们只会增加 ZIP 文件的大小。另外,不要包含 *.clw、*.ncb、*.opt 等自动重新创建的文件。

提交基于他人工作的文章

使用他人的代码作为基础是可以的,只要您清楚地说明其中一部分/大部分代码不是您的。如果您使用他人的代码,请不要删除他们的版权声明。这里有很多代码重用,毕竟这就是目的。对于要在此处发布的文章,我们期望在代码和 HTML 中根据情况注明出处。

如果您提交的是对他人作品的修改、扩展或更正,我们要求您尝试先联系原作者,然后尝试与他/她协商以更新原始文章。这样,我们就可以保留与原始文章的连续性,并减少需要发布的新页面数量。

提交已在其他网站发布的代码

非常欢迎您提交已在其他网站发布的代码,前提是您拥有该文章的版权,并且您没有授予其他网站您文章的独家权利。

CodeProject 提交模板

模板 zip 文件 包含一个 HTML 模板,用于向 CodeProject 提交文章。我们建议使用 Microsoft Expression Web、Dreamweaver 或您喜欢的文本编辑器来编辑此文件。请注意,所有多余的格式(奇怪的颜色、绝对定位等)都将被删除,以保持统一的外观并帮助我们的读者。

使用这些模板将有助于我们更快地发布您的文章。我们在服务器上使用 MS IIS 和 ASP 页面,这使我们可以简化用于创建文章的模板。

要填写模板,只需按照以下 3 个简单步骤操作:

  1. 填写文章描述详细信息
  2. 添加指向您的图片和下载的链接
  3. 包含主要文章内容

就是这样!所有格式都将由 ASP 脚本引擎完成。

外国语言投稿

CodeProject 是一个英语网站。我们欢迎来自所有文化背景和各行各业的人士,但我们要求只发布英文文章。

技术博客投稿

博客条目与文章的目的是相同的:帮助开发人员解决与编码相关的问题。在决定是否提交您的 博客源 并标记您的博客条目时,一个很好的通用指南是:是否有与您的博客主题相关的部分?

必备条件:

  1. 具有某种技术基础(不发布关于餐厅、好啤酒或日常事务的条目)
  2. 提出问题并给出解决方案
  3. 简要描述您的代码,包括它是关于什么、它做什么以及它在您的项目中是如何使用的。
  4. 至少 1000 个字符
  5. 要比快速提示或更适合 FAQ 的简短条目

其他注意事项:

  1. 不需要提供可下载的源代码。
  2. 代码片段总是受欢迎的。
  3. 图片也总是受欢迎的。
  4. 您的技术博客条目将根据您在个人资料中设置的默认许可证进行授权。点击“我的设置”,然后点击“文章”以更改此默认设置。


© . All rights reserved.