]> granicus.if.org Git - esp-idf/commitdiff
doc:update_creating_example_cn
authorliying <liying@Natasha-de-MacBook.local>
Tue, 6 Nov 2018 10:40:17 +0000 (18:40 +0800)
committermorris <maoshengrong@espressif.com>
Wed, 7 Nov 2018 09:18:51 +0000 (17:18 +0800)
docs/en/contribute/creating-examples.rst
docs/zh_CN/contribute/creating-examples.rst

index eb8132b80ea702b2ed08cf88cdd57446d68a4c99..0904d3e4313111c9fc77114df328301771436d25 100644 (file)
@@ -10,7 +10,7 @@ Structure
 - If the example has additional functionality, split it logically into separate C or C++ source files under ``main`` and place a corresponding header file in the same directory.
 - If the example has a lot of additional functionality, consider adding a ``components`` directory to the example project and make some example-specific components with library functionality. Only do this if the components are specific to the example, if they're generic or common functionality then they should be added to ESP-IDF itself.
 - The example should have a ``README.md`` file. Use the :idf_file:`template example README <docs/TEMPLATE_EXAMPLE_README.md>` and adapt it for your particular example.
-- Examples should have an ``example_test.py`` file for running an automated example test. If submitting a GitHub Pull Request which includes an example, it's OK not to include this file initially. The details can be discussed as part of the PR.
+- Examples should have an ``example_test.py`` file for running an automated example test. If submitting a GitHub Pull Request which includes an example, it's OK not to include this file initially. The details can be discussed as part of the `Pull Request <https://help.github.com/articles/creating-a-pull-request/>`_.
 
 General Guidelines
 ------------------
index 117d41f1862c69d602d59920c265a8790d9f2ccb..fa9ad0fca01369fb3ca0963d6c0328b409fd5efa 100644 (file)
@@ -1,16 +1,16 @@
 创建示例项目
 ============
 
-æ¯\8f个 ESP-IDF ç\9a\84示ä¾\8bé\83½æ\98¯ä¸\80个å®\8cæ\95´ç\9a\84项ç\9b®ï¼\8cå\85¶ä»\96人å\8f¯ä»¥å¤\8då\88¶å¹¶ä¿®æ\94¹ä»£ç \81以解å\86³ä»\96们è\87ªå·±ç\9a\84é\97®é¢\98ã\80\82请注æ\84\8fï¼\8c示ä¾\8b项ç\9b®ç\9a\84主è¦\81ç\9b®ç\9a\84是为了展示 ESP-IDF 的功能。
+æ¯\8f个 ESP-IDF ç\9a\84示ä¾\8bé\83½æ\98¯ä¸\80个å®\8cæ\95´ç\9a\84项ç\9b®ï¼\8cå\85¶ä»\96人å\8f¯ä»¥å°\86示ä¾\8bå¤\8då\88¶è\87³æ\9c¬å\9c°ï¼\8c并根æ\8d®å®\9eé\99\85æ\83\85å\86µè¿\9bè¡\8cä¸\80å®\9aä¿®æ\94¹ã\80\82请注æ\84\8fï¼\8c示ä¾\8b项ç\9b®ä¸»è¦\81是为了展示 ESP-IDF 的功能。
 
 示例项目结构
 ------------
 
 -  ``main`` 目录需要包含一个名为 ``(something)_example_main.c`` 的源文件,里面包含示例项目的主要功能。
--  如果该示例项目的子任务比较多,请根据逻辑将其拆分为 ``main`` 目录下的多个 C 或者 C++ 源文件,并将相应的头文件放在同一目录下。
--  如果该示例项目具有多种功能,可以考虑在项目中增加一个 ``components`` 子目录,以组件的形式为示例项目提供服务。如果该组件提供的功能具有一定的通用性和完整性,则应该将它们添加到 ESP-IDF 的 ``components`` 目录中,使其成为 ESP-IDF 的一部分。
--  示例项目需要包含一个 ``README.md`` 文件,建议在 :idf_file:`示例项目 README 模板 <docs/TEMPLATE_EXAMPLE_README.md>` 的基础上进行修改,使其适配你的项目
--  ç¤ºä¾\8b项ç\9b®é\9c\80è¦\81å\8c\85å\90«ä¸\80个 ``example_test.py`` æ\96\87件ï¼\8cç\94¨äº\8eè\87ªå\8a¨å\8c\96æµ\8bè¯\95æ\9c¬ç¤ºä¾\8b项ç\9b®ã\80\82å¦\82æ\9e\9cå\9c¨ GitHub Pull Request ä¸\8aå\88\9d次æ\8f\90交示ä¾\8b项ç\9b®ï¼\8cå\8f¯ä»¥å\85\88ä¸\8då\8c\85å\90«è¿\99个è\84\9aæ\9c¬æ\96\87件ï¼\8c该æ\96\87件ç\9a\84å®\9eç\8e°ç»\86è\8a\82å\8f¯ä»¥å\9c¨å\90\8eç»­ç\9a\84 PR ä¸­è¿\9bè¡\8c讨论
+-  如果该示例项目的子任务比较多,请根据逻辑将其拆分为 ``main`` 目录下的多个 C 或者 C++ 源文件,并将对应的头文件也放在同一目录下。
+-  如果该示例项目具有多种功能,可以考虑在项目中增加一个 ``components`` 子目录,通过库功能,将示例项目的不同功能划分为不同的组件。注意,如果该组件提供的功能相对完整,且具有一定的通用性,则应该将它们添加到 ESP-IDF 的 ``components`` 目录中,使其成为 ESP-IDF 的一部分。
+-  示例项目需要包含一个 ``README.md`` 文件,建议使用 :idf_file:`示例项目 README 模板 <docs/TEMPLATE_EXAMPLE_README.md>` ,并根据项目实际情况进行修改
+-  ç¤ºä¾\8b项ç\9b®é\9c\80è¦\81å\8c\85å\90«ä¸\80个 ``example_test.py`` æ\96\87件ï¼\8cç\94¨äº\8eè¿\9bè¡\8cè\87ªå\8a¨å\8c\96æµ\8bè¯\95ã\80\82å¦\82æ\9e\9cå\9c¨ GitHub ä¸\8aå\88\9d次æ\8f\90交 Pull Request æ\97¶ï¼\8cå\8f¯ä»¥å\85\88ä¸\8då\8c\85å\90«è¿\99个è\84\9aæ\9c¬æ\96\87件ã\80\82å\85·ä½\93ç»\86è\8a\82ï¼\8c请è§\81æ\9c\89å\85³ `Pull Request <https://help.github.com/articles/creating-a-pull-request/>`_ ç\9a\84ç\9b¸å\85³å\86\85容
 
 一般准则
 --------
 检查清单
 --------
 
-提交示例项目之前需要检查的清单如下:
-
--  示例项目的名字(在 ``Makefile`` 和 ``README.md`` 中)使用单词 ``example`` 而不是 “demo”,“test” 类似的单词。
--  示例项目的目的只能有一个,如果有多个,请将它们拆分为两个或更多示例项目。
--  示例项目中需要包含一个 ``README.md`` 文件,建议使用 :idf_file:`示例项目 README 模板 <docs/TEMPLATE_EXAMPLE_README.md>`。
--  示例项目中的函数和变量的命令要遵循 :ref:`命名规范 <style-guide-naming>` 中的要求。
--  示例项目中的所有代码结构良好,并且关键代码有详细注释。
--  示例项目中清除不必要的代码(旧的调试日志,注释掉的代码等)。
--  示例项目中用使用的选项(比如网络名称,地址等)不应该被硬编码,尽可能地使用可配置项或者宏定义和常量。
--  配置项在 ``KConfig.projbuild`` 文件中提供,该文件中包含有名为 “Example Configuration” 的菜单。查看现有的示例项目以了解如何实现该操作。
--  所有的原始代码都需要在文件开头指定许可证和免责声明,表示它 ``in the public domain CC0``。或者,示例项目可以在 ``Apache License 2.0`` 协议下获得许可。请查看已有的示例项目然后做相应的修改。
--  任何改动的或直接使用的第三方代码都需要在文件开头声明其原始的许可证,且该许可证必须要与 ``Apache License 2.0`` 协议兼容。
+提交一个新的示例项目之前,需要检查以下内容:
+
+-  示例项目的名字(包括 ``Makefile`` 和 ``README.md`` 中)应使用 ``example``,而不要写 “demo”,“test” 等词汇。
+-  每个示例项目只能有一个主要功能。如果某个示例项目有多个主要功能,请将其拆分为两个或更多示例项目。
+-  每个示例项目应包含一个 ``README.md`` 文件,建议使用 :idf_file:`示例项目 README 模板 <docs/TEMPLATE_EXAMPLE_README.md>`。
+-  示例项目中的函数和变量的命令要遵循 :ref:`命名规范 <style-guide-naming>` 中的要求。对于仅在示例项目源文件中使用的非静态变量/函数,请使用 ``example`` 或其他类似的前缀。
+-  示例项目中的所有代码结构良好,关键代码要有详细注释。
+-  示例项目中所有不必要的代码(旧的调试日志,注释掉的代码等)都必须清除掉。
+-  示例项目中使用的选项(比如网络名称,地址等)不得直接硬编码,应尽可能地使用配置项,或者定义为宏或常量。
+-  配置项可见 ``KConfig.projbuild`` 文件,该文件中包含一个名为 “Example Configuration” 的菜单。具体情况,请查看现有示例项目。
+-  所有的源代码都需要在文件开头指定许可信息(表示该代码是 ``in the public domain CC0``)和免责声明。或者,源代码也可以应用 ``Apache License 2.0`` 许可条款。请查看现有示例项目的许可信息和免责声明,并根据实际情况进行修改。
+-  任何第三方代码(无论是直接使用,还是进行了一些改进)均应保留原始代码中的许可信息,且这些代码的许可必须兼容 ``Apache License 2.0`` 协议。
\ No newline at end of file