Contributing Tutorials
如果要贡献代码给tutorials, 只要 fork 下面的 repository:
[[https://github.com/txidol/interactive-tutorials]] 中文部分可先fork这个项目
其他[[https://github.com/ronreiter/interactive-tutorials]] 也可以直接fork根项目
然后你就可以添加和修改代码 , 然后发送一个 pull request.
要写一个 tutorial, 只要创建 Markdown 页面在tutorials
相关目录下, 然后在 welcome screen 放入选项链接. 添加后需要确认在Flask web服务器的链接位置是否正确.
要把你的链接链接到tutorial,需要创建一个你的主链接入口页面 (通常用 Welcome.md
页面) 使用双括号 如 [[ xx ]]
.
一个页面表示一个主题, 对用户有些简单的练习测试. 如果用户更改代码满足了要求, 必须提供打印出的预期结果.
每一小节你必须满足如下的结构:
File name.md
Tutorial
--------
描述.
Exercise
--------
练习代码.
Tutorial Code
-------------
写一个代码块会出现在左边的解释器框中. 比如,你写了个空方法, 然后用户需要补充完代码以实现练习.
Expected Output
---------------
写一些代码会出现在预期框中,如果解释器框中的代码修改正确.
Solution
--------
写解决问题的方法.
页面命名与Action中的方法上的@Action注解标识一一对应。
例如:
@Action(“site-dic-view”): site-dic-view.ftl
@Action(“site-dic-add”): site-dic-add.ftl
@Action(“site-dic-edit”): site-dic-edit.ftl
@Action(“site-dic-list”): site-dic-list.ftl
原则上每个业务实体对应一个Action类,命名格式:实体类名+Action。
例如:SiteAction、SiteDicAction。
常用的Action方法命名:
查看业务实体
@Action(“site-view”) public String view() { // 代码 }
新增业务实体(跳转到新增页面)
@Action(“site-add”) public String add() { // 代码 }
原则上每个业务实体对应一个Service类,命名格式:实体类名+Service。例如:SiteService、SiteDicService。
常用Service方法命名:
根据ID获取业务实体。
Site getSite(String siteId) { // 代码 }
根据Xxx获取业务实体。
Site getSiteByXxx(String xxx) { // 代码 }
表名:项目简写名_业务实体名。
例如:Ipo_Site Ipo_SiteDic。主键:PK_业务实体名_id。
例如:PK_Site_id PK_SiteDic_id。外键:FK_业务实体名_外键字段名。
例如:FK_Site_organId FK_SiteDic_siteId。索引:IDX_业务实体名_索引字段名。
例如:IDX_Site_organId IDX_SiteDic_siteId。字段:跟业务实体属性名保持一致,采用驼峰式命名规则。
外键的级联删除关系应该考虑清楚,究竟是级联删除、限制删除还是置空。
所有外键要求创建对应的索引,提高查询效率。
字段类型应尽量引用已定义的域(domain),可以统一类型及长度。
实体名
应尽可能使用简短的英文单词或组合单词,采用标准Java命名方法。
例如:Site SiteDic
属性、变量
名词或组合名词,List和Map常加个s来表示。应避免简写,采用完整写法来表达清楚的意思。
正面示例:
private String name; private String siteName; private Site site; private List<Site> sites = new ArrayList<Site>(); private Integer collectRecordCount = 0;