精华内容
下载资源
问答
  • 本文介绍了一种轻量级的文档模块化方法。 这个想法植根于通过通过用户故事更好地关注内容来改进内容。 (有关基于用户故事的文档与基于功能的文档比较的讨论,请参阅基于用户故事的文档。) DITA和朋友 让我从...

    用户模块的接口文档

    模块化文档并不是一个新概念。 在可以合并和重用的模块中编写文档已有很多年了,并且有很多支持者和批评者。 本文介绍了一种轻量级的文档模块化方法。 这个想法植根于通过通过用户故事更好地关注内容来改进内容。 (有关基于用户故事的文档与基于功能的文档比较的讨论,请参阅基于用户故事的文档。)

    DITA和朋友

    让我从一开始就强调:这不是DITA文档信息键入体系结构),也不是DITA启发的方法。 重点是基于用户故事的文档,其模块化结构是达到最终目的的一种方法-简化创作,确保一致性并简化文档流程。

    模块化如何帮助作家

    为了使编写基于用户故事的文档尽可能简单,我们提出了许多最佳实践。 其中包括编写标准化模块并将它们组合在一起。 以模块化的方式构造文档并为一些基本内容类型使用模板具有以下优点:

    • 鼓励一致性
    • 实现内容块的重用
    • 使为文档做出贡献的提议对新同事而言不再那么令人畏惧

    通过将文档源存储在模块中,我们旨在改进向用户展示文档的方式。

    模块和组件的模板

    内容的主要单元和模块结构的最基本元素是模块 通过组合模块,作者可以在称为Assembly的组件中构造用户故事。 我们定义了以下三种类型的模块:

    • 程序
    • 概念
    • 参考

    已经为每种模块类型和装配体开发了直观的模板。 模板提供有关结构,样式和适当内容的指南。 这些模板位于GitHub上的Modular Documentation Project源代码存储库中。 该存储库还提供了一个简明手册,其中解释了如何使用模板,包括格式化为模块的真实文档的示例。

    一致性和内容重用

    从作者的角度来看,将预定义的模板用于内容的模块化单位:

    • 鼓励简洁和一致,并且
    • 使您更容易专注于内容本身,同时消除了格式化和结构化的开销。

    仍需要作家的专业知识来确保技术准确性以及正确的语气和声音。

    当几个作者遵循模板结构时,他们之间的协作就不会那么痛苦。 当采用一致的格式时,作者不仅可以轻松地从别人留下的地方接管工作,而且各个模块也可以很容易地在多个程序集中重用。

    模块化如何帮助读者

    模块化文档还具有显着现代化用户体验的潜力。 可以为用户提供动态的,可定制的体验,该体验提供了许多访问和使用文档的新方式。

    保留书籍并添加用户故事

    指南,书籍和手册都为基于功能介绍文档提供了优势。 这些格式非常适合于全面的内容集,这些内容旨在提供有关特定产品的所有已知信息的详细信息。 该格式邀请用户从头到尾阅读。

    但是,模块化文档建议其他形式的演示。 除了从各节和各章中形成大型指南之外,模块化结构还提供了更多动态方式来浏览,选择和使用内容。 如果将这些模块用作用户故事程序集的构建块,则可以独立显示各个用户故事。

    根据需要定制书籍

    精心使用元数据可以使用户将可用内容的整个主体过滤到自定义的模块和程序集中。 这使用户有机会仅选择与他们感兴趣的特定领域有关的文档,甚至建立自己的指南。

    更直接,更有针对性的方法

    在预定义的模板的帮助下,将基于用户故事的文档结构化为程序集和模块,使文档工作更简单,支持一致性并实现有效的内容重用。

    此外,模块化结构使以更好地针对他们的需求,创造更动态的体验的方式向用户提供文档成为可能,并且通过利用元数据,潜在地可以根据用户的特定需求提供文档的自定义子集。

    在10月23日至26日在布拉格举行的欧盟开源峰会上 ,罗伯特·克拉特基(Robert Kratky)的演讲“ 走向模块化:将传统文档转变为基于用户故事的内容”中了解有关模块化文档的更多信息。

    你有文章的主意吗? 将您的故事建议提交到open@opensource.com

    翻译自: https://opensource.com/article/17/9/modular-documentation

    用户模块的接口文档

    展开全文
  • 最近一直纠结准备产品文档模块化结构设计,文档大纲结构: 一、名词解释 二、应用目的 三、系统原则 四、需求描述 五、流程设计 六、设计要求 七、功能介绍 八、数据库设计 九、数据接口 十、用户界面

    最近一直纠结准备产品文档模块化结构设计,文档大纲结构:

    一、名词解释

    二、应用目的

    三、系统原则

    四、需求描述

    五、流程设计

    六、设计要求

    七、功能介绍

    八、数据库设计

    九、数据接口

    十、用户界面

    展开全文
  • 使用事件指导通过子模块化最大化进行查询偏置的多文档抽象摘要
  • JS模块化工具 requirejs 学习文档 作为一个Java开发者,原来写js代码都是流水账式的,一直想写出模块化的js,但是前端工具多如牛毛,确都是针对于nodejs的打包工具。但是我在实际的开发过程中,并没有使用到太多的js...
        

    JS模块化工具 requirejs 学习文档

    作为一个Java开发者,原来写js代码都是流水账式的,一直想写出模块化的js,但是前端工具多如牛毛,确都是针对于nodejs的打包工具。但是我在实际的开发过程中,并没有使用到太多的js库,一般只使用到boostrap、jquery和其相关的插件,并不想引入nodejs和各种前端插件来增加项目的复杂度。requirejs完全符合我的要求,还可以配合maven实现自动打包和压缩代码。下面我们来简单介绍一下requirejs,实现在开发阶段,不打包,不压缩,模块化开发;部署阶段,自动打包、压缩。

    requirejs简介

    requirejs是JS模块化开发的框架,它遵循AMD(Asynchronous Module Definition)规范,实现js脚本的异步加载,不阻塞页面的渲染和其后的脚本的执行。使用requirejs可以简化js的依赖,我们无需在html文件中使用<script>标签引入大量的js文件,只需引入少量的require.js文件,其他的js文件都可以通过requirejs引入。

    官方网站|requirejs中文网|Github

    什么是AMD

    define(id?, dependencies?, factory);

    • Id:模块名,可以省略
    • Dependencies:所依赖模块的数组,可以省略
    • Factory:模块的实现,可以是函数或对象

    requirejs安装

    1. 使用npm

    npm install –g requirejs

    1. 使用CDN

    <script src="https://cdn.bootcss.com/require.js/2.3.5/require.js"></script>

    1. 使用本地文件
         <script src="scripts/require.js"></script>

    如果需要使用其他的js,只需在require。config.js之中导入对应模块即可。

    requirejs常用Api

    require导入模块

    在模块中引入其他模块的语法为:

        require(['jquery'], function($) {
          //回调函数
        });

    在回调函数中我们就可以使用jquery中的$符号了。
    当然我们只会引用其他的模块是肯定不行的,我们还需要定义符合AMD规范的模块。

    define定义模块

    自定义模块的语法为:

        define(["jquery"], function($) {
            
        });
    define({
        username: "yoojoo",
        email: "yookoo@163.com",
        gender: "男"
    })

    这个模块是一个依赖于jquery的匿名模块,在requirejs中定义匿名模块也是模块定义的最佳实践,他将以对应的文件名作为模块的模块名。

    常用配置

        requirejs.config({
          baseUrl: '/public/js',
          paths: {
            hello: 'hello'
          },
          shims: {
            hello: { exports: 'hello' }
          }
        });

    baseUrl配置

    baseUrl用于配置js文件的根目录

     baseUrl: '/public/js',

    paths配置

    paths用于配置js模块的模块名和文件位置

        paths: {
            "jquery": "./lib/jquery.min"
        }
        

    上面表示jquery的js文件位置为public/js/lib/jquery.min.js

    配置不支持AMD的库和插件

    shims、exports、deps配置

    shim:{
        "modernizr": {         //不支持AMD的模块
            depts:["jquery"], //依赖的模块
            exports: "Modernizr",//全局变量作为模块对象
            init : function($){
                return $; //初始化函数,返回的对象代替exports作为模块对象
            }            
        },
        "bootstrap": ["jquery"] //只配置依赖可以省略
    }

    map多版本配置

    项目开发初期使用jquery1.12.3,后期以为需要支持移动开发,升级到jquery2.2.3。但是又担心之前依赖jquery1.12.3的代码升级到2.2.3后可能会有问题,就保守的让这部分代码继续使用1.12.3版本

    map: {
        "app/api":{
            "jquery": "./lib/jquery"
        },
        "app/api2":{
            "jquery": "./lib/jquery2"
        }
    }

    当app/api模块里加载jquery模块时,将加载jquery.js
    当app/api2模块里加载jquery模块时,将加载jquery2.js

    waitSeconds

    下载js等待的时间,默认7秒。如果设为0,则禁用等待超时。

    urlArgs

    下载文件时,在url后面增加额外的query参数

    e.g. urlArgs: “_=" + (new Date()).getTime()

    jsonp服务

    什么是jsonp

    是json的一种使用模式,可以跨域获取数据,如json
    同源策略:www.baidu.com通过ajax不能获取www.qq.com的数据

    传统的jsonp实现

    //www.qq.com中
    <script src="http://www.baidu.com/user?callback=onloaded"></script>
    //在www.baidu.com/user下
    onload({
        username: "yoojoo",
        email: "yookoo@163.com",
        gender: "男"
    })

    这样通过<script>标签就实现了跨域请求

    requirejs的jsonp实现

    requirejs也是通过<script>标签来加载模块

    //www.qq.com中
    require(["http://www.baidu.com/user],function(){
    
    });
    //在www.baidu.com中
    define({
        username: "yoojoo",
        email: "yookoo@163.com",
        gender: "男"
    });

    requirejs插件

    text插件

    使用text插件加载html
    text插件Github
    引入text插件

    paths:{
        "text": "./lib/require/text"
    }

    使用text插件

    require(["text!/user.html"],function(template){
        $("#userinfo").html(template);
    });
    //!strip表示只加载body内的数据
    require(["text!/user.html!strip"],function(template){
        $("#userinfo").html(template);
    });

    css插件

    css插件的Github地址
    引入css插件

    //方法一:通过map引入
    map {
        "*" {
            "css": "./lib/require/css"
        }
    }
    //方法二:在paths中引入
    paths: {
        "css": "./lib/require/css"
    }

    使用css插件

    //方法一:在require中引用
    require(["jquery","bootstrap",""css!./lib/bootstrap/bootstrap.min.css""],function($){
    
    });
    
    //方法二:在slim中配置依赖后,在require中引用时可以省略css
        shim: {
            "bootstrap" : ["jquery","css!./lib/bootstrap/bootstrap.min.css"]
        }

    r.js打包

    r.js的Github

    r.js打包命令

    1. 全局安装requirejs

    r.js –o baseUrl=js name=app out=built.js

    1. 运行github中下载的r.js

    node r.js –o baseUrl=js name=app out=built.js

    使用配置文件打包

    node r.js -o app.build.js

    //app.build.js
    ({
        appDir : "./src", //需要打包的根目录
        baseUrl: "./js",    //js文件在baseUrl目录下
        dir: "./build",        //打包后的输出目录
        mainConfigFile: "src/js/require.config.js" ,//requirejs的配置文件
        name: "app" //打包和输出的文件
    })

    modules 配置
    数组:列出所有需要打包的模块,当打包一个模块时,默认会打包所有依赖的模块

    text打包插件

    inlineText配置项:是否把文本文件一起打包进模块

    css打包插件

    css打包插件
    通过css-builder.js和normalize.js把css文件和模块一起打包

    使用npm命令自动打包

    1. npm init生成package.json文件
    2. 在script 中配置打包命令
    "script": {
        "package": "node r.js -o app.build.js"
    }

    npm run package

    maven打包

    使用maven+npm自动打包
    maven插件

    npm打包缺点:手动打包会有出错的地方,比如开发人员忘了执行打包命令,就提交代码,服务器端在自动部署代码的时候,打包的jar就不包含最新的js和css,这时候就用到了我们的maven插件frontend-maven-plugin可以再打包java文件之前自动打包js文件

                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>1.0</version>
                    <executions>
                        <!--下载安装node-->
                        <execution>
                            <id>install node and npm</id>
                            <goals>
                                <goal>install-node-and-npm</goal>
                            </goals>
                            <configuration>
                                <nodeVersion>v4.4.3</nodeVersion>
                                <npmVersion>3.8.6</npmVersion>
                            </configuration>
                        </execution>
                        <!--执行npm命令-->
                        <execution>
                            <id>npm run package</id>
                            <goals>
                                <goal>npm</goal>
                            </goals>
                            <configuration>
                                <arguments>run package</arguments>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
    

    执行流程

    1. 下载node和npm,如果已经下载过一次,就从maven仓库解压
    2. 在生成静态资源阶段,执行npm命令
    3. 执行java的单元测试,打包完成
    展开全文
  • 主要介绍了Seajs 简易文档 提供简单、极致的模块化开发体验,非官方文档,整理来自己官方文档的文字与实例,方便速查。需要的朋友可以参考下
  • 简单快捷,但是如果你要开发的业务过于复杂,一个页面只有一个Controller可能造成这个Controller动不动就几千行代码,不同的功能可能在一个Controller之间全部耦合在一块,这样就造成模块维护起来比较困难,...

    众所周知,我们平常写IOS应用程序一般都是用MVC的设计模式进行编写,编写的代码一般都是编写Model和Controller.这种设计对于编写一些小型的App非常不错,简单快捷,但是如果你要开发的业务过于复杂,一个页面只有一个Controller可能造成这个Controller动不动就几千行代码,不同的功能可能在一个Controller之间全部耦合在一块,这样就造成模块维护起来比较困难,模块间不能进行复用等问题。

    怎么办呢?其实我也不知道,那就让我们看看大众点评架构师是怎么做的吧。

    首先,我们所做的一个页面分为两大部分,一个是页面,一个是模块。模块与界面之间的层次主要有3层,分别是页面,模块组,模块组成。他们具体的关系图如下:




    在一个页面之中,每一个页面的主体部分是UITableView,而UITableView是由Cell和Section构成,所以说,我们的模块也由这类似的两个部分构成。而每块模块Modules之中,是由不同的Cell组成,Cell与Cell之间,是完全相对独立的最小单位。关系如下图:

    那么,模块与模块之前他是通过什么进行通信的呢,他这个框架专门对模块的通信做一个一个封装,将所有模块的一些属性通过键值对连接起来,框图如下:



     模块还支持MVVM的设计模式,比如一个Module可以由一个ViewModel修饰,其中ViewModel也可以通过WhiteBoard进行通信,如果一个Module拥有ViewModel,Module自己一般不负责通信(虽然可以),负责通信的主要是ViewModel。框图如下:



    并且大众点评app对每一个界面每一个按钮总体做了一个监听,监测用户的点击率,对于点击率过低的界面的业务,予以替换。通过method swizzing实现。


    展开全文
  • QTouch®模块化库外设触摸控制器用户指南Microchip QTouch®外设触摸控制器(PTC)在作为按钮、滑动条和滚轮使用的传感器上提供用于电容式触摸测量的内置硬件。PTC 支持互电容和自电容测量,无需任何外部元件。它能够...
  • QTouch®模块化库外设触摸控制器用户指南Microchip QTouch®外设触摸控制器(PTC)在作为按钮、滑动条和滚轮使用的传感器上提供用于电容式触摸测量的内置硬件。PTC 支持互电容和自电容测量,无需任何外部元件。它能够...
  • 模块化脚本 Cocos Creator 允许你将代码拆分成多个脚本文件,并且让它们相互调用。要实现这点,你需要了解如何在 Cocos Creator 中定义和使用模块,这个步骤简称为模块化。 如果你还不确定模块化究竟能做什么,...
  • title: Python图形化模块EasyGUI中文文档 date: 2020-03-23 09:15:02 tags: [python,图形,easygui ] categories: [笔记,开发文档 ] 说明 在EasyGUI中,所有的GUI交互都由简单函数调用这是一个使用EasyGUI的简单...
  • Cocos Creator 允许你将代码拆分成多个...如果你还不确定模块化究竟能做什么,模块化相当于:C/C++ 中的 includeC# 中的 usingJava 和 Python 中的 importHTML 中的 模块化使你可以在 Cocos Creator 中引用其它脚
  • 博客园 首页 新随笔 联系 管理 订阅 ...python之路——常用模块 ...认识模块 ...什么是模块 ...模块的导入和使用 ...常用模块一 ...collections模块 ...时间模块 ...random模块 ...os模块 ...sys模块 ...序列化模块 ...
  •  模块化示例程序解读  A Modular Sample Application Explained  原文地址: http://opensource.adobe.com/wiki/display/cairngorm /ModularSampleApplicationExplained 译稿最后修改时间:2010-6-1 16:02 ...
  • C语言模块化设计资料,主要描述了在做C语言开发时,要形成良好的编写习惯,包括备注、分享符号等,一方面可以提高自己的编写逻辑,另一方面可以让小伙伴看得懂自己的代码,或者3年后可以明白当初自己编程的思路。
  • 关于Enum Module的方法 ,我想最常用的就是ZwQuerySystemInformation...这里我想介绍一个文档化的方法来列举系统模块。实际上,这并不是一个新技术了,但是好像很多朋友还是在用未文档的ZwQuerySystemInformation列
  • 系统功能模块设计文档,系统模块化管理的参考文档,将系统以模块化分,列出各个模块的功能列表
  • 谐波模块化量表 谐波模块化比例排版 一个Sass模块,使用来管理项目的印刷比例。 有关详细信息,请参见 (日语)。 本文档引用了Sass API。 要将库与JavaScript一起使用,请阅读的。 安装 npm install @...
  • DNF 模块化

    2020-08-25 13:45:03
    模块化 模块化是构建,组织和交付软件包的新方法。有关更多详细信息,请参见:https : //docs.pagure.org/modularity/ 定义 modulemd 每个存储库都可以包含modules带有modulemd文档的元数据。这些文件存储元数据有关...
  • 模块化和包

    2021-01-18 16:44:27
    模块化 将一个任务分解成多个模块,便于后期反复使用、搭建 设计模块 _doc_可以获得模块的文档字符串内容 测试模块 模块导入 import 模块名 from…import导入模块中的一个函数或者一个类
  • 关于文档驱动设计: 设计前有 *系统需求,可行性分析,系统架构设计,分系统设计,软硬件模块, *细分到单板,有单板设计需求,有单板详细设计,可编程设计. 调试的时候有: *要求有DVT, *...
  • javascript模块化编程04CMD模块化编程规范 规范 说明 github官方文档说明地址 在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范。该规范明确了模块的基本书写格式和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,825
精华内容 2,330
关键字:

文档模块化